Mai intai trebuie sa te autentifici.

Cod sursa(job #2828000)

Utilizator SeracovanuEdwardSeracovanu Edward SeracovanuEdward Data 6 ianuarie 2022 18:27:40
Problema Stramosi Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <bits/stdc++.h>

using namespace std;
class prs{
private:
    FILE *fin;
    char *buff;
    int sp;
    char read_ch(){
    ++sp;
    if(sp==4096){
        sp=0;
        fread(buff,1,4096,fin);
    }
    return buff[sp];
    }
public:
    prs(const char *name){
    fin=fopen(name,"r");
    buff=new char[4096]();
    sp=4095;
    }
    prs& operator >>(int &n){
    char c;
    while(!isdigit(c=read_ch()));
    n=c-'0';
    while(isdigit(c=read_ch()))
        n=n*10+c-'0';
    return *this;
    }
};
int A[250001],n,p,q,m;
static inline int parc(int p,int q){
int i=0;
int ans=q;
for(int i=1;i<=p;++i){
    q=A[q];
    if(q==0)
        return q;
}
return q;
}
int main()
{
    prs fin("stramosi.in");
    freopen("stramosi.out","w",stdout);
    fin>>n>>m;
    for(int i=1;i<=n;++i){
        fin>>A[i];
    }
    for(int i=1;i<=m;++i){
        fin>>q>>p;
        printf("%d\n",parc(p,q));
    }
}