1. 程式人生 > >hdu 6205: card card card【輸入掛】

hdu 6205: card card card【輸入掛】

code n) pro class php con acm names style

題目鏈接

感謝 http://blog.csdn.net/txgang/article/details/77568491

#include<bits/stdc++.h>
using namespace std;

namespace FastIO
{
    const static int MX=1e6;
    bool IOerror=0;
    char nc()
    {
        static char buf[MX],*p1=buf+MX,*pend=buf+MX;
        if(p1==pend)
        {
            p1=buf;
            pend
=buf+fread(buf,1,MX,stdin); if(pend==p1) { IOerror=1; return -1; } } return *p1++; } inline bool blank(char ch) { return ch== ||ch==\n||ch ==\r||ch ==\t; } inline int read() //直接x=read()調用此函數即可,EOF會返回-1
{ int x; char ch; while(blank(ch=nc())); if(IOerror) return -1; for(x=ch-0;(ch=nc())>=0&&ch<=9;x=x*10+ch-0);//printf("%d===\n",x); return x; } } using namespace FastIO; const int N=2e6+9; int a[N],b[N]; int solve(int n) {
for(int i=0;i<n;i++) a[i]=read(),a[i+n]=a[i]; for(int i=0;i<n;i++) b[i]=read(),b[i+n]=b[i]; int ret=0,fuck=0; int sum1=0,sum2=0,be=0; for(int i=0;i<2*n&&be<n;i++) { sum1+=a[i]+b[i]; sum2+=a[i]-b[i]; if(sum2<0||i-be+1==n) { if(sum1>fuck) ret=be,fuck=sum1; sum1=sum2=0; be=i+1; } } return ret; } int main() { // freopen("test.in","r",stdin); int n; while((n=read())!=-1) printf("%d\n",solve(n)); }

hdu 6205: card card card【輸入掛】