码迷,mamicode.com
首页 > 其他好文 > 详细

hdu 6205: card card card【输入挂】

时间:2017-09-11 12:20:47      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:ati   pid   details   detail   end   erro   card   code   test   

题目链接

感谢 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【输入挂】

标签:ati   pid   details   detail   end   erro   card   code   test   

原文地址:http://www.cnblogs.com/Just--Do--It/p/7504122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!