#2475
Supărat că fata de care-i plăcea l-a respins, Bogdan și-a făcut bagajele și a pornit într-o excursie de-a lungul întregii lumi. Acesta a vizitat mai toate continentele, însă acum este blocat în Africa din cauza faptului că Bogdan, băiat mai neastâmpărat din fire, s-a apucat să se bată cu țânțarii Mosquito.Bineînțeles că a fost înțepat și că acum trebuie să caute antidot pentru venin, altfel Bogdan se va transforma și el în Mosquito. Acesta s-a dus să-i ceară ajutorul lui Aashiq, care îi spune următoarele: “Te voi vindeca de înțepături dacă reușești să duci la bun sfârșit sarcina pe care ți-o dau.”, însă Bogdan nu prea se pricepe la sarcini complicate, așa că vă roagă să rezolvați voi cerința în locul lui.
Dându-se trei numere naturale, a, n, k, trebuie să aflați valoarea următoarei expresii: ak•ak+2k•...•ak+2k+...+nk. Antidotul pentru înțepăturile de Mosquito necesită foarte multă muncă, motiv pentru care vor trebui îndeplinite t teste.
| Problema | Mosquito | Operații I/O |
mosquito.in/mosquito.out
|
|---|---|---|---|
| Limita timp | 0.01 secunde | Limita memorie |
Total: 1 MB
/
Stivă 1 MB
|
| Id soluție | #63187861 | Utilizator | |
| Fișier | mosquito.cpp | Dimensiune | 2.48 KB |
| Data încărcării | 19 Februarie 2026, 17:11 | Scor/rezultat | Eroare de compilare |
mosquito.cpp:1:1: error: stray '\304' in program Se pare că mediul în care rulezi codul (compilatorul) folosește un standard C++ mai vechi sau o configurație care nu recunoaște tipul de date __int128. Acesta este un tip specific extensiilor GCC, dar în competiții, dacă mediul este restrictiv, e mai bine să folosim o metodă de înmulțire modulară manuală pentru a evita overflow-ul.Totuși, uitându-mă pe restricția: "Se garantează faptul că niciuna dintre puterile lui a nu va depăși $10^{18}$", observăm că $a^k$ și restul termenilor sunt gestionabili. Totuși, la calculul exponentului și la ridicarea la putere, avem nevoie de precizie.Iată versiunea corectată care nu folosește __int128, ci o funcție de înmulțire sigură (pentru orice eventualitate) și corectează erorile de sintaxă:Cod Corectat (Standard C++)C++#include <fstream> ^ mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\303' in program mosquito.cpp:1:1: error: stray '\256' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\303' in program mosquito.cpp:1:1: error: stray '\256' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\303' in program mosquito.cpp:1:1: error: stray '\256' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\303' in program mosquito.cpp:1:1: error: stray '\242' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\303' in program mosquito.cpp:1:1: error: stray '\256' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\233' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\310' in program mosquito.cpp:1:1: error: stray '\231' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:1: error: stray '\304' in program mosquito.cpp:1:1: error: stray '\203' in program mosquito.cpp:1:805: error: stray '#' in program Se pare că mediul în care rulezi codul (compilatorul) folosește un standard C++ mai vechi sau o configurație care nu recunoaște tipul de date __int128. Acesta este un tip specific extensiilor GCC, dar în competiții, dacă mediul este restrictiv, e mai bine să folosim o metodă de înmulțire modulară manuală pentru a evita overflow-ul.Totuși, uitându-mă pe restricția: "Se garantează faptul că niciuna dintre puterile lui a nu va depăși $10^{18}$", observăm că $a^k$ și restul termenilor sunt gestionabili. Totuși, la calculul exponentului și la ridicarea la putere, avem nevoie de precizie.Iată versiunea corectată care nu folosește __int128, ci o funcție de înmulțire sigură (pentru orice eventualitate) și corectează erorile de sintaxă:Cod Corectat (Standard C++)C++#include <fstream> ^ mosquito.cpp:1:1: error: 'Se' does not name a type Se pare că mediul în care rulezi codul (compilatorul) folosește un standard C++ mai vechi sau o configurație care nu recunoaște tipul de date __int128. Acesta este un tip specific extensiilor GCC, dar în competiții, dacă mediul este restrictiv, e mai bine să folosim o metodă de înmulțire modulară manuală pentru a evita overflow-ul.Totuși, uitându-mă pe restricția: "Se garantează faptul că niciuna dintre puterile lui a nu va depăși $10^{18}$", observăm că $a^k$ și restul termenilor sunt gestionabili. Totuși, la calculul exponentului și la ridicarea la putere, avem nevoie de precizie.Iată versiunea corectată care nu folosește __int128, ci o funcție de înmulțire sigură (pentru orice eventualitate) și corectează erorile de sintaxă:Cod Corectat (Standard C++)C++#include <fstream> ^ mosquito.cpp: In function 'll mul_mod(ll, ll, ll)': mosquito.cpp:10:18: error: expected primary-expression before 'unsigned' return (ll)((unsigned __int64)a * b % m); ^ mosquito.cpp:10:18: error: expected ')' before 'unsigned' mosquito.cpp:10:45: error: expected ')' before ';' token return (ll)((unsigned __int64)a * b % m); ^ mosquito.cpp: In function 'void solve()': mosquito.cpp:28:5: error: 'ifstream' was not declared in this scope ifstream fin("mosquito.in"); ^ mosquito.cpp:28:14: error: expected ';' before 'fin' ifstream fin("mosquito.in"); ^ mosquito.cpp:29:5: error: 'ofstream' was not declared in this scope ofstream fout("mosquito.out"); ^ mosquito.cpp:29:14: error: expected ';' before 'fout' ofstream fout("mosquito.out"); ^ mosquito.cpp:32:11: error: 'fin' was not declared in this scope if (!(fin >> t)) return; ^ mosquito.cpp:36:15: error: 'fin' was not declared in this scope if (!(fin >> a >> n >> k)) break; ^ mosquito.cpp:39:13: error: 'fout' was not declared in this scope fout << "0\n"; ^ mosquito.cpp:59:9: error: 'fout' was not declared in this scope fout << fast_pow(a, exponent_final, MOD) << "\n"; ^ mosquito.cpp: In function 'll mul_mod(ll, ll, ll)': mosquito.cpp:13:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Mosquito 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ă.