Submission #750960

# Submission time Handle Problem Language Result Execution time Memory
750960 2023-05-30T16:44:41 Z joelgun14 Crossing (JOI21_crossing) C++17
26 / 100
7000 ms 2856 KB
// header file
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
// pragma
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
// macros
#define endl "\n"
#define ll long long
#define mp make_pair
#define ins insert
#define lb lower_bound
#define pb push_back
#define ub upper_bound
#define lll __int128
#define fi first
#define se second
using namespace std;
using namespace __gnu_pbds;
typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_multiset;
typedef tree<int, null_type, less<int>, rb_tree_tag,tree_order_statistics_node_update> ordered_set;
string operate(string a, string b) {
    for(int it = 0; it < a.size(); ++it) {
        if(a[it] == b[it])
            continue;
        bool j = 0, o = 0, i = 0;
        if(a[it] == 'J')
            j = 1;
        else if(a[it] == 'O')
            o = 1;
        else
            i = 1;
        if(b[it] == 'J')
            j = 1;
        else if(b[it] == 'O')
            o = 1;
        else
            i = 1;
        if(!j)
            a[it] = 'J';
        else if(!o)
            a[it] = 'O';
        else
            a[it] = 'I';
    }
    return a;
}
int main() {
    ios_base::sync_with_stdio(0); cin.tie(NULL);
    int n;
    cin >> n;
    // coba cek tiap possibility pengambilan
    // max pengambilan cmn 3?
    string a[3];
    cin >> a[0] >> a[1] >> a[2];
    int q;
    cin >> q;
    string init;
    cin >> init;
    bool ans = 0;
    for(int i = 0; i < 3; ++i) {
        string tmp = a[i];
        if(tmp == init)
            ans = 1;
        for(int j = 0; j < 3; ++j) {
            // lakuin operasi antara a[i] dan a[j];
            tmp = operate(tmp, a[j]);
            if(tmp == init)
                ans = 1;
            for(int k = 0; k < 3; ++k) {
                tmp = operate(tmp, a[k]);
                if(tmp == init)
                    ans = 1;
            }
        }
    }
    if(ans)
        cout << "Yes" << endl;
    else
        cout << "No" << endl;
    // coba permutasi size 1, 2, 3
    while(q--) {
        int l, r;
        char x;
        cin >> l >> r >> x;
        for(int i = l - 1; i <= r - 1; ++i)
            init[i] = x;
        bool ans = 0;
        for(int i = 0; i < 3; ++i) {
            string tmp = a[i];
            if(tmp == init)
                ans = 1;
            for(int j = 0; j < 3; ++j) {
                // lakuin operasi antara a[i] dan a[j];
                tmp = operate(tmp, a[j]);
                if(tmp == init)
                    ans = 1;
                for(int k = 0; k < 3; ++k) {
                    tmp = operate(tmp, a[k]);
                    if(tmp == init)
                        ans = 1;
                }
            }
        }
        if(ans)
            cout << "Yes" << endl;
        else
            cout << "No" << endl;
    }
    return 0;
}

Compilation message

Main.cpp: In function 'std::string operate(std::string, std::string)':
Main.cpp:24:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |     for(int it = 0; it < a.size(); ++it) {
      |                     ~~~^~~~~~~~~~
Main.cpp:27:28: warning: variable 'i' set but not used [-Wunused-but-set-variable]
   27 |         bool j = 0, o = 0, i = 0;
      |                            ^
# Verdict Execution time Memory Grader output
1 Correct 836 ms 2292 KB Output is correct
2 Correct 994 ms 2620 KB Output is correct
3 Correct 1008 ms 2284 KB Output is correct
4 Correct 952 ms 2404 KB Output is correct
5 Correct 926 ms 2392 KB Output is correct
6 Correct 924 ms 2300 KB Output is correct
7 Correct 910 ms 2488 KB Output is correct
8 Correct 978 ms 2632 KB Output is correct
9 Correct 1383 ms 2596 KB Output is correct
10 Correct 1039 ms 2384 KB Output is correct
11 Correct 1111 ms 2416 KB Output is correct
12 Correct 1070 ms 2368 KB Output is correct
13 Correct 1138 ms 2456 KB Output is correct
14 Correct 1072 ms 2436 KB Output is correct
15 Correct 1190 ms 2420 KB Output is correct
16 Correct 1066 ms 2356 KB Output is correct
17 Correct 1141 ms 2440 KB Output is correct
18 Correct 1260 ms 2364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 836 ms 2292 KB Output is correct
2 Correct 994 ms 2620 KB Output is correct
3 Correct 1008 ms 2284 KB Output is correct
4 Correct 952 ms 2404 KB Output is correct
5 Correct 926 ms 2392 KB Output is correct
6 Correct 924 ms 2300 KB Output is correct
7 Correct 910 ms 2488 KB Output is correct
8 Correct 978 ms 2632 KB Output is correct
9 Correct 1383 ms 2596 KB Output is correct
10 Correct 1039 ms 2384 KB Output is correct
11 Correct 1111 ms 2416 KB Output is correct
12 Correct 1070 ms 2368 KB Output is correct
13 Correct 1138 ms 2456 KB Output is correct
14 Correct 1072 ms 2436 KB Output is correct
15 Correct 1190 ms 2420 KB Output is correct
16 Correct 1066 ms 2356 KB Output is correct
17 Correct 1141 ms 2440 KB Output is correct
18 Correct 1260 ms 2364 KB Output is correct
19 Execution timed out 7054 ms 2856 KB Time limit exceeded
20 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 836 ms 2292 KB Output is correct
2 Correct 994 ms 2620 KB Output is correct
3 Correct 1008 ms 2284 KB Output is correct
4 Correct 952 ms 2404 KB Output is correct
5 Correct 926 ms 2392 KB Output is correct
6 Correct 924 ms 2300 KB Output is correct
7 Correct 910 ms 2488 KB Output is correct
8 Correct 978 ms 2632 KB Output is correct
9 Correct 1383 ms 2596 KB Output is correct
10 Correct 1039 ms 2384 KB Output is correct
11 Correct 1111 ms 2416 KB Output is correct
12 Correct 1070 ms 2368 KB Output is correct
13 Correct 1138 ms 2456 KB Output is correct
14 Correct 1072 ms 2436 KB Output is correct
15 Correct 1190 ms 2420 KB Output is correct
16 Correct 1066 ms 2356 KB Output is correct
17 Correct 1141 ms 2440 KB Output is correct
18 Correct 1260 ms 2364 KB Output is correct
19 Correct 2594 ms 2416 KB Output is correct
20 Correct 2991 ms 2252 KB Output is correct
21 Correct 1965 ms 2436 KB Output is correct
22 Correct 1228 ms 2304 KB Output is correct
23 Correct 1811 ms 2492 KB Output is correct
24 Correct 1603 ms 2512 KB Output is correct
25 Correct 1887 ms 2468 KB Output is correct
26 Correct 1337 ms 2416 KB Output is correct
27 Correct 2078 ms 2468 KB Output is correct
28 Correct 1711 ms 2240 KB Output is correct
29 Correct 1978 ms 2408 KB Output is correct
30 Correct 1410 ms 2424 KB Output is correct
31 Correct 2527 ms 2540 KB Output is correct
32 Correct 2357 ms 2356 KB Output is correct
33 Correct 2539 ms 2592 KB Output is correct
34 Correct 1735 ms 2336 KB Output is correct
35 Correct 2550 ms 2412 KB Output is correct
36 Correct 2581 ms 2428 KB Output is correct
37 Correct 2555 ms 2500 KB Output is correct
38 Correct 2394 ms 2328 KB Output is correct
39 Correct 2588 ms 2432 KB Output is correct
40 Correct 2472 ms 2428 KB Output is correct
41 Correct 2427 ms 2388 KB Output is correct
42 Correct 2466 ms 2348 KB Output is correct
43 Correct 1933 ms 2492 KB Output is correct
44 Correct 2473 ms 2412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 836 ms 2292 KB Output is correct
2 Correct 994 ms 2620 KB Output is correct
3 Correct 1008 ms 2284 KB Output is correct
4 Correct 952 ms 2404 KB Output is correct
5 Correct 926 ms 2392 KB Output is correct
6 Correct 924 ms 2300 KB Output is correct
7 Correct 910 ms 2488 KB Output is correct
8 Correct 978 ms 2632 KB Output is correct
9 Correct 1383 ms 2596 KB Output is correct
10 Correct 1039 ms 2384 KB Output is correct
11 Correct 1111 ms 2416 KB Output is correct
12 Correct 1070 ms 2368 KB Output is correct
13 Correct 1138 ms 2456 KB Output is correct
14 Correct 1072 ms 2436 KB Output is correct
15 Correct 1190 ms 2420 KB Output is correct
16 Correct 1066 ms 2356 KB Output is correct
17 Correct 1141 ms 2440 KB Output is correct
18 Correct 1260 ms 2364 KB Output is correct
19 Execution timed out 7054 ms 2856 KB Time limit exceeded
20 Halted 0 ms 0 KB -