Cod sursa(job #2759274)
Utilizator | Tritean Sergiu sergiudny | Data | 16 iunie 2021 15:43:01 |
---|---|---|---|
Problema | Twoton | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva ICPC | Marime | 0.57 kb |
#include <stdio.h>
#define NMAX 1000024
#define MOD 19997
#define min(a,b) a<b?a:b
int n, v[NMAX], count;
int main()
{
FILE *fin = fopen("twoton.in", "r");
FILE *fout = fopen("twoton.out", "w");
fscanf(fin, "%d", &n);
for (int i = 0; i < n; ++i) {
fscanf(fin, "%d", &v[i]);
}
int mn = v[n-1];
count = 1;
for (int i=n-2; i>=0; --i) {
if(v[i] < mn ) count += 1;
else count = 2*count+1;
mn = min(v[i], mn);
count %=MOD;
}
printf("%d\n", count);
fprintf(fout, "%d\n", count);
fclose(fin);
fclose(fout);
}