Submission #921542

# Submission time Handle Problem Language Result Execution time Memory
921542 2024-02-04T06:13:54 Z Alihan_8 Crayfish scrivener (IOI12_scrivener) C++17
34 / 100
1000 ms 116424 KB
#include <bits/stdc++.h>

using namespace std;

#define all(x) x.begin(), x.end()
#define ar array
#define pb push_back
#define ln '\n'
//#define int long long

using i64 = long long;

template <class F, class _S>
bool chmin(F &u, const _S &v){
    bool flag = false;
    if ( u > v ){
        u = v; flag |= true;
    }
    return flag;
}

template <class F, class _S>
bool chmax(F &u, const _S &v){
    bool flag = false;
    if ( u < v ){
        u = v; flag |= true;
    }
    return flag;
}

vector <vector<int>> a;

vector <int> def, d;

vector <char> t;

void Init() {
    def.resize(21);
    a.pb(def);
    d.pb(0);
    t.pb('#');
}

void TypeLetter(char L) {
    int i = (int)a.size();
    a.pb(def);
    d.pb(d.back() + 1);
    a[i][0] = i - 1;
    for ( int j = 1; j <= 20; j++ ){
        a[i][j] = a[a[i][j - 1]][j - 1];
    } t.pb(L);
}

void UndoCommands(int U) {
    int i = (int)a.size();
    a.pb(def);
    a[i][0] = i - U - 1;
    d.pb(d[i - U - 1]);
    for ( int j = 1; j <= 20; j++ ){
        a[i][j] = a[a[i][j - 1]][j - 1];
    } t.pb('-');
}

char GetLetter(int P) {
    int i = (int)a.size() - 1;
    for ( int j = 20; j >= 0; j-- ){
        if ( d[a[i][j]] >= P + 1 ){
            i = a[i][j];
        }
    }
    return t[i];
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 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 344 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
# 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 0 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 0 ms 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 424 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 604 KB Output is correct
2 Correct 3 ms 604 KB Output is correct
3 Correct 2 ms 860 KB Output is correct
4 Correct 2 ms 860 KB Output is correct
5 Correct 2 ms 856 KB Output is correct
6 Correct 2 ms 860 KB Output is correct
7 Correct 2 ms 860 KB Output is correct
8 Correct 2 ms 860 KB Output is correct
9 Correct 2 ms 880 KB Output is correct
10 Correct 2 ms 860 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 540 ms 89468 KB Output is correct
2 Correct 707 ms 109376 KB Output is correct
3 Correct 500 ms 108336 KB Output is correct
4 Correct 661 ms 111596 KB Output is correct
5 Correct 569 ms 100880 KB Output is correct
6 Correct 491 ms 116424 KB Output is correct
7 Execution timed out 1036 ms 87356 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 741 ms 82708 KB Output is correct
2 Correct 845 ms 78420 KB Output is correct
3 Correct 536 ms 95904 KB Output is correct
4 Correct 565 ms 86244 KB Output is correct
5 Correct 524 ms 109680 KB Output is correct
6 Correct 595 ms 112356 KB Output is correct
7 Correct 593 ms 113932 KB Output is correct
8 Execution timed out 1022 ms 68976 KB Time limit exceeded
9 Halted 0 ms 0 KB -