CodeForces 6C - Alice, Bob and Chocolate

题目意思:两个人吃巧克力棒,速度一样,计算出每个人吃的数量。

贪心的思想,我以来就用的是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;
}

你可能感兴趣的:(codeforces,greedy贪心)