Fişierul intrare/ieşire:twoton.in, twoton.outSursăACM ICPC - Romanian Programming Contest 2016
AutorStefan CiobacaAdăugată dediac_paulPaul Diac diac_paul
Timp execuţie pe test0.1 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Twoton

Puţine din problemele de la ACM-ICPC au soluţia dată chiar în enunţ. Însă pentru această problemă, o rezolvare posibilă este următoarea:

#include <stdio.h>

int n;
int a[1000024];
int 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 {
    return wtf(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]);
  }
  wtf(0);
  fprintf(fout, "%d\n", count);
  fclose(fin);
  fclose(fout);
}

Scrieţi un program care calculează numărul calculat de programul de mai sus.

Date de intrare

Datele de intrare se citesc din fişierul twoton.in. Pe prima linie se găseşte un număr natural n iar pe următoarea linie se găsesc n numere naturale, separate prin spaţii.

Date de ieşire

În fişierul de ieşire twoton.out afişaţi numărul calculat de programul de mai sus.

Restricţii

  • Toate numerele din fişierul de intrare sunt numere naturale între 1 şi 100000.

Exemplu

twoton.intwoton.out
4
4 2 3 1
15
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?