Cod sursa(job #1709296)

Utilizator UBB_ABAUBB InczeBakoBeiland UBB ABA UBB_ABA Data 28 mai 2016 11:42:09
Problema Twoton Scor 100
Compilator cpp Status done
Runda ONIS 2016 - Runda - 2 - ACM ICPC Romanian Programming Contest Marime 0.56 kb
#include <cstdio>
using namespace std;
int n;
#define M 1000024
#define mo 19997
int a[M];
int count = 0;
void f()
{
    int min=a[n-1],e=1;
  count=1;
  for(int i=n-2;i>=0;--i)
  {
      if(a[i]<min)
        {
            count=(1+e)%mo;
            min=a[i];
        }
    else count=(1+(2*e)%mo)%mo;
    e=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", &a[i]);
  }
  f();
  fprintf(fout, "%d\n", count);
  fclose(fin);
  fclose(fout);
}