#include #include #include using namespace std; int main() { int n; cin >> n; int sum = 0; int maks_duzina = 0; map zbirovi; zbirovi[0] = -1; int x; for(int i = 0; i < n; i++) { cin >> x; sum += x; auto it = zbirovi.find(sum); if(it != zbirovi.end()) { int duzina = i - (it->second); if(maks_duzina < duzina) maks_duzina = duzina; } else { mapa[sum] = i; } } return 0; } int main_kvadratna_slozenost() { int n; cin >> n; vector pref(n+1); pref[0] = 0; int x; for(int i = 0; i < n; i++) { cin >> x; pref[i+1] = pref[i] + x; } int najduzi_segment = 0; for(int i = 0; i < n; i++) { for(int j = i+1; j <= n; j++) { if(pref[j] - pref[i] == 0) { int segm = j - i; if(segm > najduzi_segment) najduzi_segment = segm; } } } cout << najduzi_segment << endl; return 0; }