Cod sursa(job #3237321)

Utilizator popescu_georgePopescu George popescu_george Data 8 iulie 2024 11:43:06
Problema Hashuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("hashuri.in");
ofstream G("hashuri.out");
#define Z 2048
int m=98999,n,i,j,k,p=Z,q;
vector<int> a[98999];
vector<int>::iterator l;
char s[Z],t[Z];
inline char A()
{
    if(p==Z)
        F.read(s,Z),p=0;
    return s[p++];
}
int B()
{
    char c;
    for(c=A();!isdigit(c);c=A());
    int n=0;
    for(;isdigit(c);n=n*10+c-48,c=A());
    return n;
}
inline void C()
{
    if(q==Z)
        G.write(t,Z),q=0;
}
int main()
{
    for(n=B();n--;)
        if(i=B(),j=B(),i<2) {
            if(k=j%m,find(a[k].begin(),a[k].end(),j)==a[k].end())
                a[k].push_back(j);
        } else if(i>2)
            k=j%m,t[q++]=(find(a[k].begin(),a[k].end(),j)!=a[k].end())+48,C(),t[q++]='\n',C();
        else {
            if(k=j%m,l=find(a[k].begin(),a[k].end(),j),l!=a[k].end())
                a[k].erase(l);
        }
    return G.write(t,q),0;
}