Cod sursa(job #1710216)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 28 mai 2016 17:46:53
Problema Twoton Scor 100
Compilator cpp Status done
Runda Arhiva ICPC Marime 0.64 kb
#include <stdio.h>

int n;
int a[1000024],ult[1000024],pasi[1000024];
int count = 0;

int wtf(int i)
{
  pasi[i]=1;
  if(a[i]<ult[i+1])
{
    pasi[i]=(pasi[i]+pasi[i+1])%19997;
    return a[i];
  } else {
    pasi[i]=(pasi[i]+2*pasi[i+1])%19997;
    return ult[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]);
  }
  ult[n-1]=a[n-1];
  pasi[n-1]=1;
  for(int i=n-2;i>=0;--i)
  {
      ult[i]=wtf(i);
  }
  fprintf(fout, "%d\n", pasi[0]);
  fclose(fin);
  fclose(fout);
}