hdu 6205 card card card
来源:互联网 发布:vmware for mac下载 编辑:程序博客网 时间:2024/05/16 08:06
加个特判如果最后那个序列和最后大于等于0,从头开始再来一次,记录头加过的状态,从新的地方加
#include <bits/stdc++.h>using namespace std;int a[1000009],b[1000009];int main(){ int n; while(~scanf("%d",&n)) { for(int i=1; i<=n; i++) scanf("%d",&a[i]); for(int i=1; i<=n; i++) scanf("%d",&b[i]); int ans=0; int st,max1,now,pai,fir,st1,now1; st1=now1=fir=0; max1=0,now=0,pai=0; st=1; int i=1; for(i=1; i<=n; i++) { now+=(a[i]-b[i]); pai+=a[i]; if(now<0) { now-=(a[i]-b[i]); pai-=a[i]; max1=pai; now1=now; fir=pai; st1=i; break; } } if(i>=n)printf("0\n"); else { now=0; st=i; for(; i<=n; i++) { now+=(a[i]-b[i]); pai+=a[i]; if(i==n&&now>=0){break;} if(now<0) { pai-=a[i]; if(max1<pai) { max1=pai; ans=st-1; } now=0; pai=0; st=i+1; } } if(i==n) { pai+=fir; now+=now1; int j=st1; for(;j<=n;j++) { now+=(a[j]-b[j]); pai+=a[j]; if(now<0) { pai-=a[j]; if(pai>max1) { ans=st-1; } break; } } if(j>=n)ans=st-1; } printf("%d\n",ans); } } return 0;}
阅读全文
0 0
- hdu 6205 card card card
- HDU 6205:card card card
- HDU 6205 card card card
- hdu 6205 card card card
- card card card HDU-6205
- HDU 6205 card card card
- 【HDU 6205】 card card card 【尺取】
- HDU 6205 card card card(尺取)
- card
- Card
- HDU 6205 card card card(展开字符串思想+思维)
- HDU 6205 card card card(尺取法)
- hdu 6205 card card card(最大子段和)
- HDU-6205 card card card(思维+简单线段树)
- HDU 6205 card card card (2017沈阳网赛
- hdu 6205 card card card (尺取法)
- 1012 card card card
- HDU6205 card card card
- [WikiOI] 1.3.1 寻找子串位置
- [WikiOI] 1.3.2 单词翻转
- [WikiOI] 2.1.1 明明的随机数
- css3 box-pack box-align 居中
- [WikiOI] 2.1.2 排序
- hdu 6205 card card card
- CTF竞赛之misc-base64
- [WikiOI] 2.2.1 Cantor表
- [WikiOI] 2.2.2 蛇形矩阵
- [WikiOI] 2.3.1 最大公约数和最小公倍数
- [WikiOI] 2.3.2 最大公约数
- [WikiOI] 2.3.3 素数判定
- 数据结构从零单排3——链表(2)
- [WikiOI] 2.4.1 十进制转m进制