1
已解决
刘斐
高级守护
高级守护
求思路!!
刘斐在2018-07-25 10:29:25追加了内容
#include<iostream>
#include<algorithm>
using namespace std;
struct stu{
long long x,m;
};
stu s[100010];
long long ans;
int main()
{
int n;
cin>>n;
int cnt=0;
for(int i=1;i<=n;i++)
{
cin>>s[i].x>>s[i].m;
}
int i=1,j=n;
while(i<=j)
{
ans=max(ans,s[i].m+s[j].m);
if(s[i].x==s[j].x)
{
i++;
j--;
}
else if(s[i].x>s[j].x)
{
s[i].x-=s[j].x;
j--;
}
else
{
s[j].x-=s[i].x;
i++;
}
}
cout<<ans;
return 0;
}
为什么不对
0
已采纳
1
王雪阳
高级守护
高级守护
核心代码:
while(i<=j)
{
ans=max(ans,c[i].cl+c[j].cl);
if(c[i].n==c[j].n)
{
i++;
j--;
}
else if(c[i].n>c[j].n)
{
c[i].n-=c[j].n;
j--;
}
else
{
c[j].n-=c[i].n;
i++;
}
}
思路:
贪心,把产奶量多的配对产奶量少的。
0
0
0
0
0
0