Pagini recente » Cod sursa (job #63083) | Cod sursa (job #137036) | Cod sursa (job #373197) | Cod sursa (job #1849686) | Cod sursa (job #1709595)
#include <iostream>
#include <stdio.h>
using namespace std;
int n;
int a[1000024];
int count = 0;
int w[10000];
int wc[100000];
int wtf(int i){
count ++;
if (count >= 199997){
count -= 199997;
}
if (i == n - 1){
return a[i];
}
if (a[i] < wtf(i + 1)){
return a[i];
} else {
return wtf(i + 1);
}
}
int minus = 0;
int cnt = 0;
int gener(){
wc[n-1] = 1;
w[n-1] = a[n-1];
for(int i = n - 2; i >= 0; i--){
wc[i] = wc[i+1] + 1;
if(a[i] >= w[i+1]){
// cout << "true " << i << endl;
wc[i] += wc[i+1];
w[i] = w[i+1];
} else {
w[i] = a[i];
}
}
return wc[0];
}
int wtf3(int i){
count ++;
if (count >= 199997){
count -= 199997;
}
if (i == n - 1){
return a[i];
}
count += wc[i+1];
// wc[i] += wc[i+1];
if (a[i] < w[i + 1]){
w[i] = a[i];
return a[i];
} else {
count += wc[i+1];
// wc[i] += wc[i+1];
// w[i] = w[i + 1];
return w[i + 1];
}
}
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", &a[i]);
}
gener();
//wtf(0);
fprintf(fout, "%d\n", gener());
fclose(fin);
fclose(fout);
return 0;
}