标签:idt sig dem any tor div surface logs nan
题目:
Input
Output
Example
input | output |
---|---|
6 6 1 2 3 3 4 5 |
5 2 5 1 3 4 3 |
思路:先排序,然后贪心的选人获得最大运行次数。
1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 #define MP make_pair 6 #define PB push_back 7 typedef long long LL; 8 typedef pair<int,int> PII; 9 const double eps=1e-8; 10 const double pi=acos(-1.0); 11 const int K=1e6+7; 12 const int mod=1e9+7; 13 14 15 int n,mx,v[100005],vis[100005],ans[100005]; 16 int main(void) 17 { 18 scanf("%d%d",&n,&mx); 19 for(int i=1;i<=n;i++) 20 scanf("%d",&v[i]); 21 sort(v+1,v+1+n); 22 int sum=1,l=1,r=n; 23 while(l<r) 24 { 25 while(l<r && v[l]+v[r]<=mx) l++; 26 if(l>=r)break; 27 ans[sum++]=v[l],vis[l++]=1; 28 ans[sum++]=v[r],vis[r--]=1; 29 } 30 for(int i=n;i;i--)if(!vis[i]) 31 ans[sum++]=v[i]; 32 sum=0; 33 for(int i=1;i<=n;i++) 34 if(ans[i]+ans[i+1]>mx)sum++; 35 else sum++,i++; 36 printf("%d\n",sum); 37 for(int i=1;i<=n;i++) 38 printf("%d ",ans[i]); 39 return 0; 40 }
标签:idt sig dem any tor div surface logs nan
原文地址:http://www.cnblogs.com/weeping/p/6383760.html