Untitled

 avatar
unknown
plain_text
2 years ago
1.4 kB
4
Indexable
#include <bits/stdc++.h>

using namespace std;

int n, c, v[100005], suma, cnt;
vector<int> a;

int main(){
    
    
    ifstream fin("wind.in");
    ofstream fout("wind.out");
    
    fin>>c;
    fin>>n;
    for(int i=0; i<n; i++){
        fin>>v[i];
    }
    for(int i=1; i*i<=n; i++){
            if(n%i==0){
                cnt++;
                if(n/i!=i) cnt++;
                a.push_back(i);
            }
        }
        
    if(c==1){
        fout<<cnt-1;
    }
    if(c==2){
        long long int minnr=2100000000, ans, maxnr=-2100000000, answ=0, ras=0, max2=-2100000000, e=0, l=0, k=0;
        for(int l=0; l<a.size(); l++){
            k=a[l];
            minnr=2100000000;
            maxnr=-2100000000;
            for(int i=1; i<=n; i+=k){
                suma=0;
                for(int j=i; j<i+k; j++){
                    suma+=v[j];
                }
                if(suma<=minnr){
                    minnr=suma;
                }
                if(suma>=maxnr){
                    maxnr=suma;
                    e=i;
                    fout<<e<<endl;
                }
            }
            ans=maxnr-minnr;
            if(max2<=ans){
                max2=ans;
                ras=e;
                answ=k;
            }
        }
        fout<<answ<<" "<<ras;
    }

    return 0;
}
Editor is loading...