Pagini recente » Cod sursa (job #2296165) | Cod sursa (job #2907809) | Cod sursa (job #1443189) | Cod sursa (job #1909692) | Cod sursa (job #222151)
Cod sursa(job #222151)
#include <fstream>
using namespace std;
ifstream in("stramosi.in");
ofstream out("stramosi.out");
int stramos[250001],niv[250001]={0},arb[250001][250001],n,m,x,y,aux,pos;
void citire()
{in>>n>>m;
for(int i=1;i<=n;i++)
{in>>stramos[i];niv[i]=niv[stramos[i]]++;
arb[i][stramos[i]]=1;arb[stramos[i]][i]=1;
for(int j=1;j<=n;j++)
{arb[i][j]=arb[i][j]|arb[stramos[i]][j];}
}}
int main()
{ citire();
for(;m;m--)
{in>>x>>y;
if((niv[x]-y)<=0) out<<'0'<<'\n';
else {aux=niv[x]-y; pos=0;
for(int i=1;i<=n;i++)
if(niv[i]==aux)
if(arb[i][x]==1) {pos=i;out<<pos<<'\n';break;}
}
}
return 0;
}