# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
466874 | TlenekWodoru | Fountain (eJOI20_fountain) | C++14 | 1576 ms | 36236 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
int srednica[100009];
int pojemnosc[100009];
vector<int>D[100009];
vector<int>D2[100009];
int V[100009][20];
int V2[100009][20];
void DFS(int v, int poprzedni, int poprzedni_odl)
{
int ind=poprzedni;
long long odl=poprzedni_odl;
for(int i=0;i<=18;i++)
{
V2[v][i]=odl;
V[v][i]=ind;
odl+=V2[ind][i];
ind=V[ind][i];
}
for(int i=0;i<D[v].size();i++)
{
int somsiad=D[v][i];
DFS(somsiad,v,D2[v][i]);
}
}
int main()
{ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int n,m;
cin>>n>>m;
for(int i=1;i<=n;i++)
{
int r,l;
cin>>r>>l;
srednica[i]=r;
pojemnosc[i]=l;
}
map<int,int>M;
M[1000000009]=0;
D[0].push_back(1);
D2[0].push_back(1000000009);
for(int i=n;i>=1;i--)
{
int r=srednica[i];
int l=pojemnosc[i];
D[M.upper_bound(r)->second].push_back(i);
D2[M.upper_bound(r)->second].push_back(l);
M[r]=i;
}
///-=-=-==-==-=-==-==-=-=-==-=-==-==-==-=-==-==-=-==-=-==-==-=-=-=
DFS(0,0,0);
///-==-=--==-==-=-==-==--==--==-==-=-==-==-=-==-==-==-=-==-==-=-==-
/**cout<<endl<<endl;
for(int i=0;i<=n;i++)
{
cout<<endl<<"i="<<i<<"| ";
for(int j=0;j<10;j++)
{
cout<<V[i][j]<<" ";
}
}
cout<<endl;
cout<<endl;
for(int i=0;i<=n;i++)
{
cout<<endl<<"i="<<i<<"| ";
for(int j=0;j<10;j++)
{
cout<<V2[i][j]<<" ";
}
}
cout<<endl<<endl;**/
///-=-==-=-==-=-==-=-==-==-=-===-=-==-==-=-==-=-==-==--=-=
vector<int>odp;
for(int i=1;i<=m;i++)
{
int ind;
int k;
cin>>ind>>k;
for(int j=17;j>=0;j--)
{
while(V2[ind][j]<k)
{
k-=V2[ind][j];
ind=V[ind][j];
}
if(ind==0){break;}
}
cout<<ind<<endl;
}
return 0;
}
/**
10 100
1 1
2 1
3 1
4 2
5 2
6 2
7 3
8 3
9 3
10 4
**/
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |