Cod sursa(job #1760752)

Utilizator xSliveSergiu xSlive Data 21 septembrie 2016 10:33:28
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.5 kb
#include <fstream>
#define MOD 19997
using namespace std;

ifstream f("twoton.in");
ofstream g("twoton.out");

int n;
int a[100005],minim[100005],sol[100005];

int main(){
    f >> n;
    for(int i=0;i<n;i++)    f >> a[i];

    minim[n-1] = a[n-1];

    for(int i=n-2;i>=0;i--) minim[i] = min(minim[i+1],a[i]);

    sol[n-1] = 1;
    for(int i=n-2;i>=0;i--){
        if(minim[i] < minim[i+1])    sol[i] = 1+sol[i+1] % MOD;
        else sol[i] = 1+2*sol[i+1] % MOD;
    }

    g << sol[0];
}