Submission #1005010

# Submission time Handle Problem Language Result Execution time Memory
1005010 2024-06-22T06:09:58 Z vjudge1 Street Lamps (APIO19_street_lamps) C++17
20 / 100
257 ms 1288 KB
#include <bits/stdc++.h>
using namespace std;

const int N = 3e5 + 10;
int n, q, store[N];
string s;
pair<int, int> last[N];


int main(){
    cin >> n >> q >> s;

    if (n <= 100 and q <= 100){
        vector<string> vec;
        vec.push_back(s);
        for (int i = 0; i < q; i ++){
            string qx;
            cin >> qx;

            if (qx[0] == 't'){
                int x;
                cin >> x;
                x--;
                s[x] = '1' - s[x] + '0';
            }
            else{
                int a, b;
                cin >> a >> b;
                a--, b--;

                int ans = 0;
                for (string x : vec){
                    bool good = 1;
                    for (int i = a; i < b; i ++)
                        if (x[i] == '0')
                            good = 0;
                    ans += good;
                }

                cout << ans << endl;
            }
            vec.push_back(s);    
        }
        return 0;
    }

    for (int i = 0; i < n; i ++)
        if (s[i] == '1')
            last[i] = {0, -1};

    int tme = 1;
    for (int i = 0; i < q; i ++){
        string qx;
        cin >> qx;

        if (qx[0] == 't'){
            int x;
            cin >> x;
            x--;
            
            if (s[x] == '1'){
                last[x].second = tme;
                s[x] = '0';
                store[x] += last[x].second - last[x].first + 1;
            }
            else{
                last[x] = {tme, -1};
                s[x] = '1';
            }
        }
        else{
            int a, b;
            cin >> a >> b;
            a--, b--;

            int val = 0;
            if (last[a].second == -1 and last[a].first != -1)
                val = tme - last[a].first;

            // cout << a << " : " << last[a].first << " " << last[a].second << ", cur time = " << tme << endl;

            cout << store[a] + val << endl;
        }
        tme++;
    }
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 257 ms 1288 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 344 KB Output is correct
8 Incorrect 257 ms 1288 KB Output isn't correct
9 Halted 0 ms 0 KB -