E?
排序,贪心
by LordLeft @ 2019-07-18 10:47:23
如楼上
by _Felix @ 2019-07-18 10:53:20
不知道具体怎么实现啊
by OY星辰_狂蔫 @ 2019-07-18 11:02:18
```cpp
#include<bits/stdc++.h>
using namespace std;
long long n,j,k,a[999999];
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
sort(a+1,a+1+n);
while(a[n]>100) n--;
int s=n,t=0;
for(j=1;j<=n;)
{
if(a[j]+a[n]<=100){t++,j++,n--;}
else if(a[j]+a[n]>100){t++;n--;}
}
if(j==n) t++;
if(t>10) {cout<<10<<" "<<s; return 0;}
cout<<t<<" "<<s;
return 0;
}
```
by OY星辰_狂蔫 @ 2019-07-18 11:04:15
哪里错了???
by OY星辰_狂蔫 @ 2019-07-18 11:04:28
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,a[201],s,ans,sum,t;
int main)
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
if(s<=100) a[t++]=s;
}
sort(a,a+t);
for(int i=0,j=t-1;i<j;)
{
if(a[i]+a[j]>100) {ans++,j--;}
else {sum++,i++;j--;}
}
if(sum>10)
{
cout<<10<<" "<<20;
}
if(ans+sum>10)
{
cout<<10<<" "<<sum*2+(10-sum);
}
else
{
cout<<ans+sum<<" "<<sum*2+ans;
}
return 0;
}
```
by OY星辰_狂蔫 @ 2019-07-18 11:24:40