Pagini recente » Cod sursa (job #1546234) | Cod sursa (job #2888446) | Cod sursa (job #1765505) | Cod sursa (job #3227434) | Cod sursa (job #2048579)
#include <fstream>
#include <vector>
using namespace std;
const int N = 250005;
const int M = 300005;
ifstream f("stramosi.in");
ofstream g("stramosi.out");
struct intrebare
{
int poz,q;
}v[M];
int n,m;
vector <int> V[N];
vector <int> lst[N];
int stiv[N],k;
bool tata[N];
int rasp[M];
void raspund(int val)
{
for(int i = 0; i < lst[val].size(); i++)
{
int num = lst[val][i];
int ind = k - v[i].q;
if(ind > 0 )
rasp[num] = stiv[ind];
else
rasp[num] = 0;
}
}
void dfs(int x)
{
k++;
stiv[k] = x;
raspund(x);
for(int i = 1)
}
int main()
{
f>>n>>m;
for(int i = 1; i<= n; i++)
{
int x;
f>>x;
if(x > 0)
{
V[i].push_back(x);
tata[x] = 1;
}
}
for(int i = 1; i<= m; i++)
{
int p;
f>>p>>v[i].q;
v[i].poz = i;
lst[p].push_back(i);
}
f.close();
g.close();
return 0;
}