Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | thread.in, thread.out | Sursă | ONIS 2014, Runda Finala |
Autor | Stefan Ciobaca | Adăugată de | |
Timp execuţie pe test | 1 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Thread
Gigel are N thread-uri, numerotate de la 1 la N. Thread-ul i ($1$ ≤ i ≤ N) execută operaţia x += c i.
Operaţia x += c i este alcatuită din urmatoarele operatii atomice:
- se citeste valoarea lui x din memorie,
- se adauga la aceasta c_i,
- se scrie rezultatul in memorie.
Initial valoarea x este 0 si cele N thread-uri se executa in paralel. Cand doua thread-uri se executa in paralel, operatiile atomice executate de threaduri sunt intercalate. Se cere sa se gaseasca cate valori posibile poate lua variabila x la sfarsitul executiei tutoror thread-urilor.
h2. Date de intrare
Fişierul de intrare thread.in ...
Date de ieşire
În fişierul de ieşire thread.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
thread.in | thread.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...