Submission #893497

# Submission time Handle Problem Language Result Execution time Memory
893497 2023-12-27T05:53:50 Z vjudge1 Izbori (COCI22_izbori) C++17
25 / 110
54 ms 11608 KB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pb push_back
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()

const int N = (int)2e5 + 5;
const ll mod = (int)1e9 + 7;
const ll inf = (int)(1e9) + 100;

map<int, int> ma;
int cnt[N], n, a[N];
bool cs3 = 1;


void sub3() {
    map<int, int> CNT;
    ll pref = 0, ans = 0;
    CNT[0]++;
    for (int i = 1; i <= n; i++) {
        if (a[i] == 2) pref += 1;
        else pref -= 1;
        ans += CNT[pref];
        CNT[pref]++;
    }
    cout << (n * 1LL * (n + 1)) / 2 - ans;
}

void solve() {
    cin >> n;
    vector<int> v;
    for (int i = 1; i <= n; i++) {
        cin >> a[i];
        v.pb(a[i]);
        if (a[i] > 2) cs3 = 0;
    }
    sort(all(v));
    v.erase(unique(all(v)), v.end());
    int timer = 0;
    for (auto i : v) {
        ma[i] = ++timer;
    }
    if (cs3) {
        sub3();
        return;
    }
    for (int i = 1; i <= n; i++) a[i] = ma[a[i]];
    if (n <= 300) {
        int ans = 0;
        for (int i = 1; i <= n; i++) {
            for (int j = i; j <= n; j++) {
                bool g = 0;
                for (int k = i; k <= j; k++) {
                    cnt[a[k]]++;
                    if (cnt[a[k]] >= (j - i + 1) / 2 + 1) {
                        g = 1;
                        break;
                    }
                }
                for (int k = i; k <= j; k++) cnt[a[k]] = 0;
                ans += g;
            }
        }
        cout << ans;
        return;
    }
}

signed main() {
    ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int T = 1;
    //cin >> T;
    while (T--) solve();
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 6 ms 348 KB Output is correct
4 Correct 6 ms 348 KB Output is correct
5 Correct 6 ms 348 KB Output is correct
6 Correct 8 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 6 ms 348 KB Output is correct
4 Correct 6 ms 348 KB Output is correct
5 Correct 6 ms 348 KB Output is correct
6 Correct 8 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 13 ms 2012 KB Output is correct
2 Correct 16 ms 2264 KB Output is correct
3 Correct 9 ms 1504 KB Output is correct
4 Correct 18 ms 2352 KB Output is correct
5 Correct 17 ms 2524 KB Output is correct
6 Correct 18 ms 2300 KB Output is correct
7 Correct 17 ms 2344 KB Output is correct
8 Correct 18 ms 2520 KB Output is correct
9 Correct 18 ms 2340 KB Output is correct
10 Correct 17 ms 2524 KB Output is correct
11 Correct 54 ms 11608 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 6 ms 348 KB Output is correct
4 Correct 6 ms 348 KB Output is correct
5 Correct 6 ms 348 KB Output is correct
6 Correct 8 ms 348 KB Output is correct
7 Incorrect 0 ms 348 KB Output isn't correct
8 Halted 0 ms 0 KB -