Submission #754041

# Submission time Handle Problem Language Result Execution time Memory
754041 2023-06-06T13:53:01 Z vjudge1 JJOOII 2 (JOI20_ho_t2) C++17
Compilation error
0 ms 0 KB
int n, k;
    cin >> n >> k;
    string s;
    cin >> s;
    
    vector<int> pj;
    vector<int> po;
    vector<int> pi;
    
    for( int i = 0; i < n; i++ ) {
        if( s[i] == 'J') {
            pj.pb(i);
        }
    }
    
    if( pj.size() >= k ) {
        
        for( int i = 0; i < n; i++ ) {
            if( s[i] == 'O') {
                po.pb(i);
            }
        }
        
        if( po.size() >= k ) {
        
            for( int i = 0; i < n; i++ ) {
                if( s[i] == 'I') {
                    pi.pb(i);
                }
            }
        
            if( pi.size() >= k ) {
        
                ll sum = 0;
                for( int i = 1; i < k; i++ ) {
                    sum += pi[i]-pi[i-1]-1;
                }
                int j = -1;
                for( int i = po.size()-1; i >= 0; i-- ) {
                    if( po[i] < pi[0] ) {
                        j = i;
                        break;
                    }
                }
                if( j+1 >= k ) {
                    
                    sum += pi[0]-po[k-1]-1;
                    
                    for( int i = max(1,j+2-k); i < max(k,j); i++ ) {
                        sum += po[i] - po[i-1] - 1;
                    }
                    int it = -1;
                    for( int i = pj.size()-1; i >= 0; i-- ) {
                        if( pj[i] < po[0] ) {
                            it = i;
                            break;
                        }
                    }
                    if( it+1 >= k ) {
                        
                        sum += po[max(0,j+1-k)]-pj[max(k-1,it)]-1;
                        for( int i = max(1,it+2-k); i < max(k,it); i++ ) {
                            sum += pj[i] - pj[i-1] - 1;
                        }
                        cout << sum << "\n";
                        for( int i: pj ) {
                            cout << i+1 << ' ';
                        }
                        cout << "\n";
                        for( int i: po ) {
                            cout << i+1 << ' ';
                        }
                        cout << "\n";
                        for( int i: pi ) {
                            cout << i+1 << ' ';
                        }
                        
                    } else {
                        cout << -1;
                    }
                } else {
                    cout << -1;
                }
            } else {
                cout << -1;
            }
        } else {
            cout << -1;
        }
    } else {
        cout << -1;
    }
    

Compilation message

ho_t2.cpp:2:5: error: 'cin' does not name a type
    2 |     cin >> n >> k;
      |     ^~~
ho_t2.cpp:3:5: error: 'string' does not name a type
    3 |     string s;
      |     ^~~~~~
ho_t2.cpp:4:5: error: 'cin' does not name a type
    4 |     cin >> s;
      |     ^~~
ho_t2.cpp:6:5: error: 'vector' does not name a type
    6 |     vector<int> pj;
      |     ^~~~~~
ho_t2.cpp:7:5: error: 'vector' does not name a type
    7 |     vector<int> po;
      |     ^~~~~~
ho_t2.cpp:8:5: error: 'vector' does not name a type
    8 |     vector<int> pi;
      |     ^~~~~~
ho_t2.cpp:10:5: error: expected unqualified-id before 'for'
   10 |     for( int i = 0; i < n; i++ ) {
      |     ^~~
ho_t2.cpp:10:21: error: 'i' does not name a type
   10 |     for( int i = 0; i < n; i++ ) {
      |                     ^
ho_t2.cpp:10:28: error: 'i' does not name a type
   10 |     for( int i = 0; i < n; i++ ) {
      |                            ^
ho_t2.cpp:16:5: error: expected unqualified-id before 'if'
   16 |     if( pj.size() >= k ) {
      |     ^~
ho_t2.cpp:90:7: error: expected unqualified-id before 'else'
   90 |     } else {
      |       ^~~~