标签:
很简单,没什么好说的,和最长上升序列一个类型
#include<iostream> #define maxn 200000+5 using namespace std; int n,x,y; int mapp[maxn]; int main() { cin.sync_with_stdio(false); mapp[0]=0; while(cin>>n) { for(int i=1;i<=n;i++) { cin>>x>>y; mapp[i]=x-y; } for(int i=1;i<=n;i++) mapp[i+n]=mapp[i]; //for(int i=1;i<=2*n;i++) cout<<mapp[i]<<endl; int sum=0;//钱数 int re=0;//局部解 int s=0;//出发点 int ans=0;//最优解 for(int i=1;i<=2*n;i++) { if(sum+mapp[i]>=0) sum+=mapp[i],re++; else { sum=0; s=i; re=0; } if(re>n){break;} ans=max(ans,re); } cout<<ans<<endl; } return 0; }
标签:
原文地址:http://blog.csdn.net/zafkiel_nightmare/article/details/45485895