• hihoCoder1704(暴力)


    #1704 : 循环数组

    时间限制:10000ms
    单点时限:1000ms
    内存限制:256MB

    描述

    给定包含N个整数的数组A1, A2, ... AN,你可以选择任意一个Ai,将Ai旋转到数组第一项,即将数组变成:

    Ai, Ai+1, Ai+2, ... AN, A1, A2, ..., Ai-1  

    现在小Hi希望旋转之后的数组满足:

    对于任意K(1 ≤ i ≤ N),前K项的和都是正数。  

    例如对于A=[3, -5, 2, -2, 3, 0],旋转成[3, 0, 3, -5, 2, -2]满足条件。  

    请你输出i,代表将Ai旋转到第一项满足条件。  

    如果有多解,你可以输出任意一个i。如果无解输出-1。

    输入

    第一行包含一个整数N。  

    第二行包含N个整数A1, A2, ... AN。  

    对于50%的数据,1 ≤ N ≤ 1000  

    对于100%的数据,1 ≤ N ≤ 100000, -1000000 ≤ Ai ≤ 1000000

    输出

    一个整数表示答案。

    样例输入
    6  
    3 -5 2 -2 3 0
    样例输出
    5

    分析:暴力出奇迹=_=......
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    long long A[100010];
    
    int main()
    {
        int N;
        scanf("%d",&N);
        for(int i=1;i<=N;i++)
        {
            scanf("%lld",&A[i]);
            A[i]+=A[i-1];
        }
        
        int flag=-1;
        for(int i=1;i<=N;i++)
        {
            int t=0;
            for(int j=i;j<=N;j++)
            if(A[j]-A[i-1]<=0) {t=1;break;}
            if(t) continue;
            long long M=A[N]-A[i-1];
            for(int k=1;k<i;k++)
            if(M+A[k]<=0) {t=1;break;}
            if(!t) {flag=i;break;}
        }
        printf("%d
    ",flag);
        return 0;
    }
    View Code





  • 相关阅读:
    DOM 与BOM
    尝试json文件导入数据
    js事件监听简介
    js事件简介
    js中的for语句简介
    作业练习正则表达式
    简单总结-BOM
    web前端第三次作业em,fr,rem,px简单解释及颜色表
    web第二次作业练习grid
    web前端课程第一次作业----注册页面代码(2018-9-14)
  • 原文地址:https://www.cnblogs.com/ACRykl/p/8724044.html
Copyright © 2020-2023  润新知