# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
163191 | TadijaSebez | 버스 (JOI14_bus) | C++11 | 757 ms | 40360 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;
const int N=100050;
const int M=3*N;
map<int,int> dp[N];
int u[M],v[M],l[M],r[M],id[M];
int Get(int u, int tme){ return (--dp[u].upper_bound(tme))->second;}
int main()
{
int n,m,q;
scanf("%i %i",&n,&m);
for(int i=1;i<=n;i++) dp[i][-1]=-1;
for(int i=1;i<=m;i++)
{
scanf("%i %i %i %i",&u[i],&v[i],&l[i],&r[i]);
if(u[i]==1) dp[1][l[i]]=l[i];
if(v[i]==1) dp[1][r[i]]=r[i];
id[i]=i;
}
sort(id+1,id+1+m,[&](int i, int j){ return r[i]<r[j];});
for(int j=1;j<=m;j++)
{
int i=id[j];
int mx=max(Get(v[i],r[i]),Get(u[i],l[i]));
dp[v[i]][r[i]]=mx;
}
scanf("%i",&q);
while(q--)
{
int x;
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |