Se dă un șir de numere asupra căruia se pot face două tipuri de operații: actualizare a unui element (schimbarea valorii sale) și interogarea unui interval de indici (determinarea celei mai mici valori aflate între cei doi indici, inclusiv).
Afișați răspunsul la fiecare interogare.
Problema | Actualizare Element, Minim Interval | Operații I/O |
![]() aemi.in /aemi.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57645005 | Utilizator | |
Fișier | actualizare_element,_minim_interval.cpp | Dimensiune | 1018 B |
Data încărcării | 08 Aprilie 2025, 20:16 | Scor / rezultat | Eroare de compilare |
actualizare_element,_minim_interval.cpp:1:20: warning: extra tokens at end of #include directive [enabled by default] #include <fstream> #include <climits> #define DIM 100010 #define INF INT_MAX using namespace std; ifstream fin ("aemi.in"); ofstream fout("aemi.out"); int A[4*DIM]; int n, m, a, b, t, i, minim; void build(int nod, int st, int dr) { if (st == dr) { fin>>A[nod]; } else { int mid = (st + dr)/2; build(2*nod, st, mid); build(2*nod+1, mid+1, dr); A[nod] = min(A[2*nod], A[2*nod+1]); } } void query(int nod, int st, int dr, int a, int b) { if (a <= st && dr <= b) { minim = min(minim, A[nod]); }else { int mid= (st + dr)/2; if(a <=mid) query(2*nod, st, mid, a,b); if(b >mid) query(2*nod+1, mid+1, dr,a,b); } } void update(int nod, intst, int dr,int a,intb){ if(st==dr) { A[nod] = b; }else { int mid= (st + dr)/2; if(a <=mid) update(2*nod, st,mid, a,b); if(a >mid) update(2*nod+1,mid+1, dr, a,b); A[nod] = min(A[2*nod],A[2*nod+1]); } } intmain (){ fin>>n; build(1, 1, n); fin>>m; for(int i=1;i<=m;i++){ fin>>t>>a>>b; if(t ==1) { minim= INF; query(1, 1, n,a,b); fout<<minim<<"\n"; } else { update(1, 1, n,a,b); } } return0; } ^ actualizare_element,_minim_interval.cpp:1:442: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] #include <fstream> #include <climits> #define DIM 100010 #define INF INT_MAX using namespace std; ifstream fin ("aemi.in"); ofstream fout("aemi.out"); int A[4*DIM]; int n, m, a, b, t, i, minim; void build(int nod, int st, int dr) { if (st == dr) { fin>>A[nod]; } else { int mid = (st + dr)/2; build(2*nod, st, mid); build(2*nod+1, mid+1, dr); A[nod] = min(A[2*nod], A[2*nod+1]); } } void query(int nod, int st, int dr, int a, int b) { if (a <= st && dr <= b) { minim = min(minim, A[nod]); }else { int mid= (st + dr)/2; if(a <=mid) query(2*nod, st, mid, a,b); if(b >mid) query(2*nod+1, mid+1, dr,a,b); } } void update(int nod, intst, int dr,int a,intb){ if(st==dr) { A[nod] = b; }else { int mid= (st + dr)/2; if(a <=mid) update(2*nod, st,mid, a,b); if(a >mid) update(2*nod+1,mid+1, dr, a,b); A[nod] = min(A[2*nod],A[2*nod+1]); } } intmain (){ fin>>n; build(1, 1, n); fin>>m; for(int i=1;i<=m;i++){ fin>>t>>a>>b; if(t ==1) { minim= INF; query(1, 1, n,a,b); fout<<minim<<"\n"; } else { update(1, 1, n,a,b); } } return0; } ^ actualizare_element,_minim_interval.cpp:1:714: warning: invalid suffix on literal; C++11 requires a space between literal and identifier [-Wliteral-suffix] #include <fstream> #include <climits> #define DIM 100010 #define INF INT_MAX using namespace std; ifstream fin ("aemi.in"); ofstream fout("aemi.out"); int A[4*DIM]; int n, m, a, b, t, i, minim; void build(int nod, int st, int dr) { if (st == dr) { fin>>A[nod]; } else { int mid = (st + dr)/2; build(2*nod, st, mid); build(2*nod+1, mid+1, dr); A[nod] = min(A[2*nod], A[2*nod+1]); } } void query(int nod, int st, int dr, int a, int b) { if (a <= st && dr <= b) { minim = min(minim, A[nod]); }else { int mid= (st + dr)/2; if(a <=mid) query(2*nod, st, mid, a,b); if(b >mid) query(2*nod+1, mid+1, dr,a,b); } } void update(int nod, intst, int dr,int a,intb){ if(st==dr) { A[nod] = b; }else { int mid= (st + dr)/2; if(a <=mid) update(2*nod, st,mid, a,b); if(a >mid) update(2*nod+1,mid+1, dr, a,b); A[nod] = min(A[2*nod],A[2*nod+1]); } } intmain (){ fin>>n; build(1, 1, n); fin>>m; for(int i=1;i<=m;i++){ fin>>t>>a>>b; if(t ==1) { minim= INF; query(1, 1, n,a,b); fout<<minim<<"\n"; } else { update(1, 1, n,a,b); } } return0; } ^ /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 0 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 1 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 2 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 3 has invalid symbol index 2 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 4 has invalid symbol index 11 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 5 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 6 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 7 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 8 has invalid symbol index 12 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 9 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 10 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 11 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 12 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 13 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 14 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 15 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 16 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 17 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 18 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 19 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 20 has invalid symbol index 13 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_info): relocation 21 has invalid symbol index 22 /usr/bin/ld: /usr/lib/debug/usr/lib/i386-linux-gnu/crt1.o(.debug_line): relocation 0 has invalid symbol index 2 /usr/lib/gcc/i686-linux-gnu/4.8/../../../i386-linux-gnu/crt1.o: In function \`_start': (.text+0x18): undefined reference to \`main' collect2: error: ld returned 1 exit status
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Actualizare Element, Minim Interval 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ă.