Fişierul intrare/ieşire: | twoton.in, twoton.out | Sursă | ACM ICPC - Romanian Programming Contest 2016 |
Autor | Stefan Ciobaca | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate | N/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.in | twoton.out |
---|---|
4 4 2 3 1 | 15 |