#704
smsm
Notăm X
ca fiind mulţimea numerelor naturale care se pot scrie sub forma 2
a
*3
b
. Se consideră doar acele numere pentru care 0 ≤ a ≤ D
şi 0 ≤ b ≤ T
, unde D
şi T
sunt date. Pentru un număr v
din X
, considerăm asociatul lui v
ca fiind valoarea (C*P)%Q
unde C
este ultima cifră a lui v
iar P
şi Q
se dau (de exemplu, pentru P = 1
şi Q = 10
asociatul lui 2
1
*3
2
este 8
).
Se cere determinarea valorii maxime a sumei asociatelor elementelor unei submulţimi a lui X
astfel încât oricare ar fi două elemente u
şi v
din submulţimea respectivă, u
nu divide pe v
şi nici v
nu divide pe u
.
Lot Juniori, Baia Mare, 2013
Problema | smsm | Operații I/O |
![]() smsm.in /smsm.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 8 MB
/
Stivă 8 MB
|
Id soluție | #58124879 | Utilizator | |
Fișier | smsm.cpp | Dimensiune | 1.32 KB |
Data încărcării | 15 Mai 2025, 11:07 | Scor / rezultat | Eroare de compilare |
smsm.cpp:1:1: error: expected unqualified-id before string constant "#include <stdio.h>\n\n#define DIM 511\nusing namespace std;\nint d[] = {6, 2, 4, 8};\nint t[] = {1, 3, 9, 7};\n\n\nint A[DIM][DIM], D[DIM][DIM], E[DIM][DIM];\nint N, M, i, j, ii, jj, max, maxim, P, Q, e1, e2;\n\nint Max(int a, int b, int c) {\n if (b > a)\n a = b;\n if (c > a)\n a = c;\n return a;\n}\n\nint main() {\n \n FILE *f = fopen(\"smsm.in\",\"r\");\n FILE *g = fopen(\"smsm.out\",\"w\");\n \n fscanf(f,\"%d %d %d %d\",&N, &M, &P, &Q);\n fclose(f);\n \n for (i=0;i<=N;i++)\n for (j=0;j<=M;j++)\n if (i == 0)\n A[i][j] = (t[j%4] * P) % Q;\n else\n A[i][j] = (d[i % 4] * t[j % 4]%10 * P) % Q;\n \n for (i=N;i>=0;i--)\n for (j=0;j<=M;j++) {\n max = 0;\n if (i == N || j==0)\n D[i][j] = A[i][j];\n else\n D[i][j] = E[i+1][j-1] + A[i][j];\n \n if (j == 0)\n e1 = 0;\n else\n e1 = E[i][j-1];\n if (i == N)\n e2 = 0;\n else\n e2 = E[i+1][j];\n E[i][j] = Max(e1, e2, D[i][j]);\n \n if (D[i][j] > maxim)\n maxim = D[i][j];\n }\n fprintf(g,\"%d\\n\",maxim);\n fclose(g);\n return 0;\n}\n" ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema smsm 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ă.