Submission #907665

# Submission time Handle Problem Language Result Execution time Memory
907665 2024-01-16T01:33:49 Z andro Sterilizing Spray (JOI15_sterilizing) C++14
5 / 100
5000 ms 6000 KB
#include <bits/stdc++.h>

#define int long long

using namespace std;

const int N = 1e5 + 5;

int n;

struct segtree{
    int t[4*N];
    int query(int v,int tl,int tr,int l,int r){
        if(tl>r||tr<l)return 0;
        if(tl>=l&&tr<=r)return t[v];
        int tm=(tl+tr)/2;
        return query(v*2,tl,tm,l,r)+query(v*2+1,tm+1,tr,l,r);
    }
    void update(int v,int tl,int tr,int index,int value){
        if(tl==tr)t[v]=value;
        else {
            int tm=(tl+tr)/2;
            if(index<=tm)update(v*2,tl,tm,index,value);
            else update(v*2+1,tm+1,tr,index,value);
            t[v]=t[v*2]+t[v*2+1];
        }
    }
    int query(int l, int r) {
        return query(1, 1, n, l, r);
    }
    void update(int i, int value) {
        update(1, 1, n, i, value);
    }
}seg;

signed main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int q, k;
    cin >> n >> q >> k;
    vector<int> a(n + 1);
    for(int i = 1; i <= n; i++) {
        cin >> a[i];
        seg.update(i, a[i]);
    }
    set<int> s;
    for(int i = 1; i <= n; i++) {
        s.insert(i);
    }
    vector<int> P(n + 1);
    const int limit = 100;
    while(q--) {
        int o;
        cin >> o;
        if(o == 1) {
            int l, r;
            cin >> l >> r;
            seg.update(l, r);
        }
        else if(o == 2) {
            int l, r;
            cin >> l >> r;
            for(int i = l; i <= r; i++) {
                seg.update(i, seg.query(i, i ) / k);
            }
        }
        else {
            int l, r;
            cin >> l >> r;
            cout << seg.query(l, r) << "\n";
        }
    }
}

Compilation message

sterilizing.cpp: In function 'int main()':
sterilizing.cpp:51:15: warning: unused variable 'limit' [-Wunused-variable]
   51 |     const int limit = 100;
      |               ^~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 344 KB Output is correct
2 Correct 6 ms 344 KB Output is correct
3 Correct 5 ms 604 KB Output is correct
4 Correct 33 ms 584 KB Output is correct
5 Correct 80 ms 604 KB Output is correct
6 Correct 87 ms 860 KB Output is correct
7 Correct 80 ms 704 KB Output is correct
8 Correct 80 ms 604 KB Output is correct
9 Correct 85 ms 856 KB Output is correct
10 Correct 85 ms 692 KB Output is correct
11 Correct 81 ms 600 KB Output is correct
12 Correct 86 ms 692 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 5064 ms 6000 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2567 ms 992 KB Output is correct
2 Execution timed out 5025 ms 5480 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 5020 ms 5968 KB Time limit exceeded
2 Halted 0 ms 0 KB -