Pagini recente » Cod sursa (job #780943) | Cod sursa (job #3297031) | Cod sursa (job #1267068) | Cod sursa (job #1099770) | Cod sursa (job #2679448)
#include <cstdio>
#include <fstream>
#ifdef LOCAL
#include <debug.hpp>
#else
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,tune=native")
#define debug(...)
#endif
using namespace std;
int v[250000];
ifstream in ("stramosi.in") ;
ofstream out ("stramosi.out") ;
int main()
{
std::ios::sync_with_stdio(false) ;
in.tie(0) ;
out.tie(0) ;
int n, m, x, y, i, cns = 0;
in >> n >> m ;
for(int i = 1; i <= n; i++)
{
in >> v[i] ;
if(v[i] == i-1)
cns++;
}
if(cns == n)
{
while(m--)
{
in >> x >> y ;
if(x>=y)
out << x - y << '\n' ;
else
out << "0\n" ;
}
}
else
{
while(m--)
{
in >> x >> y ;
for(i=y; x&&i; i--)
x=v[x];
out << x << '\n' ;
}
}
return 0;
}