Submission #575847

#TimeUsernameProblemLanguageResultExecution timeMemory
575847PedroBigManCrayfish scrivener (IOI12_scrivener)C++14
0 / 100
93 ms14608 KiB
/*
Author of all code: Pedro BIGMAN Dias
Last edit: 15/02/2021
*/
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
#pragma GCC optimize("Ofast")
#include <iostream>
#include <vector>
#include <cmath>
#include <algorithm>
#include <string>
#include <map>
#include <unordered_map>
#include <set>
#include <unordered_set>
#include <queue>
#include <deque>
#include <list>
#include <iomanip>
#include <stdlib.h>
#include <time.h>
#include <cstring>
using namespace std;
typedef int ll;
typedef unsigned long long int ull;
typedef long double ld;
#define REP(i,a,b) for(ll i=(ll) a; i<(ll) b; i++)
#define pb push_back
#define mp make_pair
#define pl pair<ll,ll>
#define ff first
#define ss second
#define whole(x) x.begin(),x.end()
#define DEBUG(i) cout<<"Pedro Is The Master "<<i<<endl
#define INF 1000000000000000000LL
#define EPS ((ld)0.00000000001)
#define pi ((ld)3.141592653589793)
#define VV(vvvv,NNNN,xxxx); REP(iiiii,0,NNNN) {vvvv.pb(xxxx);}
ll mod=1000000007LL;

template<class A=ll> 
void Out(vector<A> a) {REP(i,0,a.size()) {cout<<a[i]<<" ";} cout<<endl;}

template<class A=ll>
void In(vector<A> &a, ll N) {A cur; REP(i,0,N) {cin>>cur; a.pb(cur);}} 

vector<pl> s;
string str;

void Init() 
{
	str="";
	return;
}

void TypeLetter(char L) 
{
	ll val = (ll) (L-'a');
	s.pb({val,s.size()-1});
}

void UndoCommands(int U) 
{
	s.pb({-1,s.size()-1-U});
}

char GetLetter(int P) 
{
	if(str.size()!=0) {return str[P];}
	string word="";
	ll cur=s.size()-1;
	while(cur>=0)
	{
		if(s[cur].ff>=0) {word+=((char) (s[cur].ff+'a'));}
		cur=s[cur].ss;
	}
	reverse(whole(word));
	str=word;
}

Compilation message (stderr)

scrivener.cpp:5: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    5 | #pragma GCC optimization ("O3")
      | 
scrivener.cpp:6: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("unroll-loops")
      | 
scrivener.cpp: In function 'char GetLetter(int)':
scrivener.cpp:71:14: warning: control reaches end of non-void function [-Wreturn-type]
   71 |  string word="";
      |              ^~
#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...