题目意思:两个人吃巧克力棒,速度一样,计算出每个人吃的数量。
贪心的思想,我以来就用的是while来做,在第38个样例那里wa了,然后自己想了想,应该是我第一次写的时候因为是在while里面更新index,没有每一次进行比较,后面改成for循环,然后就过了。注意:题目说了,因为女士优先,所以当两个人吃到相同的巧克力棒,还剩下最后一根的时候是让给女士的!
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <iomanip>
#include <algorithm>
#include <cctype>
#include <stack>
#include <queue>
#include <string>
#include <cstring>
#include <iomanip>
#include <set>
#include <vector>
#include <cstdio>
#include <stack>
#include <sstream>
#include <cstring>
#include <map>
using namespace std;
const int INF=0x3f3f3f3f;
int arr[100005];
int main()
{
int lenth;
cin>>lenth;
for(int i=0;i<lenth;i++)
cin>>arr[i];
int i=0,j=lenth-1;
int suml=0,sumr=0;
for(;i<=j;)
{
if(suml<=sumr)
{
suml+=arr[i];
i++;
continue;
}
if(suml>sumr)
{
sumr+=arr[j];
j--;
}
}
//cout<<suml<<" "<<sumr<<endl;
cout<<i<<" "<<lenth-i<<endl;
return 0;
}