Pagini recente » Cod sursa (job #647098) | Cod sursa (job #608460) | Cod sursa (job #1629045) | Cod sursa (job #1625588) | Cod sursa (job #2202309)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream in("twoton.in");
ofstream out("twoton.out");
int n;
int a[1000024];
pair<int,int> calc(pair<int,int> i){
i.second += 1;
i.second = i.second % 19997;
if(i.first == n-1){
return i;
}
pair<int,int> aux = calc(make_pair(i.first+1,0));
if(a[i.first] < a[aux.first]){
i.second += aux.second;
return i;
}else{
aux.second *= 2;
aux.second += i.second;
return aux;
}
}
int main()
{
in>>n;
for(int i=0;i<n;++i){
in>>a[i];
}
pair<int,int> aux = calc(make_pair(0,0));
out<< aux.second;
return 0;
}