제출 #1188819

#제출 시각아이디문제언어결과실행 시간메모리
1188819pensive크레이피쉬 글쓰는 기계 (IOI12_scrivener)C++20
60 / 100
1096 ms132572 KiB
#include <iostream>
#include <sstream>
#include <vector>

using namespace std;
#define f first
#define s second

vector<pair<int, int>> moveList;
vector<int> undo;
vector<char> type;
string s="";
stringstream ss;
void Init() {
    return;
}
void TypeLetter(char L) {
    type.push_back(L);
    moveList.emplace_back(0, type.size()-1);
    s="";
}
void UndoCommands(int U) {
    undo.push_back(U);
    moveList.emplace_back(1, undo.size()-1);
    s="";
}
char GetLetter(int P) {
    if (s.size()==0) {
        ss.clear();
        int i = moveList.size()-1;
        while (i>=0) {
            if (!moveList[i].f) {
                ss << type[moveList[i].s];
                i--;
            }
            else {
                i-=(undo[moveList[i].s]+1);
            }
        }
        ss >> s;
    }
    return s[s.size()-P-1];
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...