Submission #759617

#TimeUsernameProblemLanguageResultExecution timeMemory
759617aykhnCrayfish scrivener (IOI12_scrivener)C++14
0 / 100
98 ms12232 KiB
#include <bits/stdc++.h>
 
// author: aykhn

using namespace std;

#define mpr make_pair
#define pb push_back
#define fi first
#define se second

int x;
string s;
vector<pair<int, char>> calls;

void Init() 
{
    s = "";
}

void TypeLetter(char L) 
{
    calls.pb(mpr(1, L));
}

void UndoCommands(int U) 
{
    calls.pb(mpr(2, U));
}

char GetLetter(int P) 
{
    x++;
    if (x == 1)
    {
        int i = calls.size() - 1;
        
        while (i >= 0)
        {
            if (calls[i].fi == 2)
            {
                calls[i].fi = 0;
                int a = calls[i].se;
                for (int k = 1; k <= a; k++)
                {
                    i--;
                    if (i >= 0) calls[i].fi = 0; 
                }
            }
            i--;
        }
        for (int i = 0; i < calls.size(); i++)
        {
            if (calls[i].fi == 1)
            {
                s.pb(calls[i].se);
            }                
        }
    }
    
    return s[P];
}

Compilation message (stderr)

scrivener.cpp: In function 'char GetLetter(int)':
scrivener.cpp:52:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, char> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |         for (int i = 0; i < calls.size(); i++)
      |                         ~~^~~~~~~~~~~~~~
#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...