Cod sursa(job #1710677)

Utilizator PopoviciRobertPopovici Robert PopoviciRobert Data 29 mai 2016 16:45:45
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.75 kb
#include <cstdio>
#define MOD 19997
#define MAXN 100000
int v[MAXN],d[MAXN][2];
int count = 0,n;
int wtf(int i){
    count++;
    count%=MOD;
    if (i == n - 1){
        d[i][0]=v[i];
        d[i][1]=1;
        return d[i][0];
    }
    if(d[i+1][0]==0){
        int aux=count;
        d[i+1][0]=wtf(i+1);
        d[i+1][1]=count-aux+MOD;
    }
    if (v[i] < d[i+1][0])
        return v[i];
    else{
        count+=d[i+1][1];
        count%=MOD;
        return d[i+1][0];
    }
}
int main(){
    FILE*fi,*fout;
    int i;
    fi=fopen("twoton.in" ,"r");
    fout=fopen("twoton.out" ,"w");
    fscanf(fi,"%d" ,&n);
    for(i=0; i<n; i++)
        fscanf(fi,"%d" ,&v[i]);
    wtf(0);
    fprintf(fout,"%d" ,count);
    fclose(fi);
    fclose(fout);
    return 0;
}