Untitled

 avatar
user_9000366
plain_text
17 days ago
3.8 kB
10
Indexable
/// F 
void Mesh_JOO() {
    int q;
    cin >> q;
    map<int, int> mp1, mp2;
    while (q--) {
        int ty, x;
        cin >> ty >> x;
        if (ty == 1) {
            if (mp1[x])mp2[mp1[x]]--;
            mp1[x]++;
            mp2[mp1[x]]++;
        } else if (ty == 2) {
            if (mp1[x]) {
                mp2[mp1[x]]--;
                mp1[x]--;
                mp2[mp1[x]]++;
            }
        } else {
            cout << (mp2[x] ? 1 : 0) << '\n';
        }
    }
}
////M
void Mesh_JOO() {
    int n, k;
    cin >> n >> k;
    vector<ll> a(k), b(k), res(n + 2, INT_MAX);
    for (int i = 0; i < k; ++i) {
        cin >> a[i];
    }
    for (int i = 0; i < k; ++i) {
        cin >> b[i];
    }
    for (int i = 0; i < k; ++i) {
        res[a[i]] = b[i];
    }
    for (int i = 1; i <= n; ++i) {
        res[i] = min(res[i], res[i - 1] + 1);
    }
    for (int i = n - 1; i >= 0; --i) {
        res[i] = min(res[i], res[i + 1] + 1);
    }
    for (int i = 1; i <= n; ++i) {
        cout << res[i] << ' ';
    }
    cout << '\n';
}

/////n
void Mesh_JOO() {
    int n;
    cin >> n;
    vector<ll> a(n);
    ll sum{};
    for (auto &i: a)cin >> i, sum += i;
    if (sum % 3 != 0) {
        cout << 0;
        return;
    }
    ll tr = sum / 3;
    ll cnt{}, ans{};
    ll sum2{};
    for (int i = 0; i < n - 1; ++i) {
        sum2 += a[i];
        if (sum2 == 2 * tr) ans += cnt;
        if (sum2 == tr)cnt++;
    }
    cout<<ans<<'\n';
}
 // o 
 int t;
    cin >> t;
    while (t--) {
        string s;
        cin >> s;
        ll cur = 0, res = 0;
        for (int i = 0; i < s.size(); i++) {
            res++;
            if (s[i] == '+') {
                cur++;
            }
            else
                cur--;
            if (cur < 0) {
                res += i + 1;
                cur = 0;
            }
        }
        cout << res << "\n";
    }
    ///p
    void Mesh_JOO() {
    int n;
    cin >> n;
    vector<vector<int>> a(n, vector<int>(2));
    ll sum1{}, sum2{};
    for (int i = 0; i < n; i++) {
        cin >> a[i][0];
        sum1 += a[i][0];
    }
    for (int i = 0; i < n; i++) {
        cin >> a[i][1];
    }
    ll res{INT_MAX};
    for (int i = 0; i < n; i++) {
        sum1 -= a[i][0];
        res = min(res, max(sum1, sum2));
        sum2 += a[i][1];
    }
    cout << res << '\n';
}
///r
void Mesh_JOO() {
    int n;
    cin >> n;
    string s, t;
    cin >> s >> t;
    for (int i = 0; i < n; ++i) {
        if (s[i] != t[i]) {
            int j =i+1;
            for (; j < n; ++j)
                if (s[i] != s[j]) {
                    break;
                }
            if (s[j] == s[i] + 1)
                swap(s[i], s[j]);
        }
    }
    cout << (s == t ? "YES\n" : "NO\n");
}
///t

const int N = 1e3+10;

void Mesh_JOO() {
    ll n, q;
    cin >> n >> q;
    vector<vector<ll> > pre(N, vector<ll>(N, 0));
    for (int i = 0; i < n; ++i) {
        ll x, y;
        cin >> x >> y;
        pre[x][y] += x*y;
    }
    for (int i = 1; i < N; ++i) {
        for (int j = 1; j < N; ++j) {
            pre[i][j] += pre[i - 1][j];
        }
    }
    for (int i = 1; i < N; ++i) {
        for (int j = 1; j < N; ++j) {
            pre[i][j] += pre[i][j - 1];
        }
    }
    while (q--) {
        pair<int, int> l, r;
        cin >> l.first >> l.second;
        cin >> r.first >> r.second;
        r.first--, r.second--;
        ll ans = pre[r.first][r.second]
                 + pre[l.first][l.second]
                 - pre[l.first][r.second]
                 - pre[r.first][l.second];
        cout << ans << '\n';
    }
}
Editor is loading...
Leave a Comment