#3282
Transform1
Fie un șir a = a
1
, a
2
, …, a
N
de numere naturale, nu neapărat distincte, cuprinse între 1
și N
. Fie de asemenea două numere naturale x
și y
. Se definește operația transform(i)
astfel: se determină valoarea w = 1 + (x * i + y * a
i
) mod N
, apoi toate elementele egale cu a
i
din secvența a
i
, a
i+1
, …, a
N
își modifică valoarea în w
. După fiecare operație de tip transform se calculează suma elementelor șirului obținut. Să se determine suma maximă care s-a obținut în șirul a
efectuând pe rând asupra șirului operațiile transform(1)
, transform(2)
, …, transform(N)
.
XOR 2014
Problema | Transform1 | Operații I/O |
![]() transform.in /transform.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #42658049 | Utilizator | |
Fișier | transform1.cpp | Dimensiune | 1.64 KB |
Data încărcării | 13 Martie 2023, 21:28 | Scor / rezultat | 100 puncte |
transform1.cpp: In function 'int main()': transform1.cpp:10:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("transform.in","r",stdin); ^ transform1.cpp:11:40: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("transform.out","w",stdout); ^ transform1.cpp:12:35: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld%lld%lld",&n,&x,&y); ^ transform1.cpp:15:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] scanf("%lld",&a[i]); ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
0 | 0 secunde | OK. | 5 | 5 | ||
1 | 0 secunde | OK. | 5 | 5 | ||
2 | 0 secunde | OK. | 10 | 10 | ||
3 | 0 secunde | OK. | 10 | 10 | ||
4 | 0.02 secunde | OK. | 10 | 10 | ||
5 | 0.032 secunde | OK. | 10 | 10 | ||
6 | 0.04 secunde | OK. | 10 | 10 | ||
7 | 0.032 secunde | OK. | 10 | 10 | ||
8 | 0.052 secunde | OK. | 10 | 10 | ||
9 | 0.056 secunde | OK. | 10 | 10 | ||
10 | 0.064 secunde | OK. | 10 | 10 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Transform1 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.