bzoj1637: [Usaco2007 Mar]Balanced Lineup

链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1637

题意:中文题。。

分析:将0变成-1,然后按x从小到大排序,然后算前缀和,找离当前前缀和相同切最远的前缀和即可。

代码:

#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:102400000,102400000")
using namespace std;
const int N=50010;
const int MAX=151;
const int MOD=1000007;
const int MOD1=100000007;
const int MOD2=100000009;
const int INF=2100000000;
const double EPS=0.00000001;
typedef long long ll;
typedef unsigned long long ull;
int read()
{
    int x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
    return x*f;
}
struct node {
    int b,x;
}a[N];
int cmd(node a,node b) {
    return a.x


你可能感兴趣的:(online,judge,Bzoj,其他,前缀和)