Submission #696679

#TimeUsernameProblemLanguageResultExecution timeMemory
696679Hiennoob123Izbori (COCI22_izbori)C++14
15 / 110
76 ms14328 KiB
#include <bits/stdc++.h> #define ll long long #define pll pair<ll,ll> #define pb push_back #define mp make_pair #define fi first #define se second using namespace std; ll n; ll A[200005]; map<ll,ll> idx; map<ll,bool> nen; ll cnt[200005]; void solve_all() { ll ans = 0; for(int i = 1; i<= n; i++) { ll sum = 0, Max = 0; for(int j = 1; j<= n; j++) cnt[j] = 0; for(int j = i; j>= 1; j--) { cnt[A[j]]++; sum++; Max = max(Max, cnt[A[j]]); if(Max*2>sum) { //cout << j << " " << i << '\n'; ans++; } } } cout << ans; } void solve() { cin >> n; for(int i = 1; i<= n; i++) { cin >> A[i]; nen[A[i]] = 1; } ll current = 0; for(auto u: nen) { current++; idx[u.fi] = current; } for(int i = 1; i<= n; i++) { A[i] = idx[A[i]]; if(A[i]>2) { solve_all(); return; } } map<ll,ll> M; M[0] = 1; ll cur = 0; ll ans = 0; for(int i = 1; i<= n; i++) { if(A[i]==1) cur++; else cur--; ans += M[cur]; M[cur]++; } cout << (n*(n+1)/2)-ans; } int main() { ios_base::sync_with_stdio(NULL) ; cin.tie(nullptr) ; cout.tie(nullptr); //freopen("B.inp","r",stdin); ll test_case = 1; while(test_case--) { solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...