Pagini recente » Cod sursa (job #610171) | Cod sursa (job #2694265) | Cod sursa (job #828001) | Cod sursa (job #1621939) | Cod sursa (job #1709342)
#include <stdio.h>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
long long n;
long long a[1000024];
long long count = 0;
int wtf(int i)
{
count++;
if (count >= 19997) {
count -= 19997;
}
if (i == n - 1) {
return a[i];
}
if (a[i] < wtf(i + 1)) {
return a[i];
} else {
int x = wtf(i + 1);
return x;
}
}
int main()
{
FILE *fin = fopen("twoton.in", "r");
FILE *fout = fopen("twoton.out", "w");
fscanf(fin, "%d", &n);
// n = 30;
// srand(time(NULL));
for (long long i = 0; i < n; ++i) {
fscanf(fin, "%d", &a[i]);
// a[i] = rand() % 1000;
// cout << a[i] << ' ';
}
long long memo[1000024];
memo[n - 1] = 1;
long long min = a[n - 1];
for (long long i = n - 2; i >= 0; --i) {
if (a[i] < min) {
memo[i] = memo[i + 1] + 1;
min = a[i];
} else {
memo[i] = 2 * memo[i + 1] + 1;
}
memo[i] %= 19997;
}
fprintf(fout, "%d\n", memo[0]);
// fprlong longf(fout, "%d\n", count);
fclose(fin);
fclose(fout);
}