Cod sursa(job #1947035)
| Utilizator | Data | 30 martie 2017 18:03:49 | |
|---|---|---|---|
| Problema | Stramosi | Scor | 50 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.74 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("stramosi.in");
ofstream fout("stramosi.out");
int i,n,m,j,x,y;
bool ok;
vector<int> index[300010];
int main()
{
fin>>n>>m;
for(i=1;i<=n;++i)
{
fin>>x;
index[i].push_back(x);
}
ok=1;
i=2;
while(ok)
{
ok=0;
for(i=1;i<=n;++i)
{
if(index[i].back()!=0)
{
ok=1;
index[i].push_back(index[index[i].back()][0]);
}
}
}
for(i=1;i<=m;++i)
{
fin>>x>>y;
if(y<=index[x].size())
fout<<index[x][y-1]<<"\n";
else
fout<<0<<"\n";
}
return 0;
}
