# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
466887 | TlenekWodoru | Fountain (eJOI20_fountain) | C++14 | 699 ms | 50112 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];
long long 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;
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(pojemnosc[i]);
while(M.size()>0&&M.begin()->first<=r)
{
M.erase(M.begin()->first);
}
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;
long long k;
cin>>ind>>k;
for(int j=18;j>=0;j--)
{
if(V2[ind][j]<k)
{
k-=V2[ind][j];
ind=V[ind][j];
}
if(ind==0){break;}
}
cout<<ind<<endl;
}
return 0;
}
/**
9 100
4 8
5 10
6 16
3 4
4 13
5 15
3 16
8 3
3 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... |