# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
1110604 |
2024-11-10T04:48:14 Z |
vjudge1 |
Traffic (CEOI11_tra) |
C++17 |
|
978 ms |
69716 KB |
#include "bits/stdc++.h"
#define ll long long
using namespace std;
const int N=5e5+1,mod=1e9+7;
vector<int>l,r;
vector<vector<int>>v(N),rev(N);
int n,m,A,B;
int x[N],y[N];
bool vis[N],removed[N];
void dfs(int idx){
vis[idx]=1;
for(auto i:v[idx])
if(!vis[i] && !removed[i])
dfs(i);
}
void del(int idx){
vis[idx]=1;
for(auto i:v[idx])
if(!vis[i])
del(i);
}
void delr(int idx){
vis[idx]=1;
for(auto i:rev[idx])
if(!vis[i])
delr(i);
}
int mx[N],mn[N];
int main(){
cin>>n>>m>>A>>B;
for(int i=1;i<=n;i++){
cin>>x[i]>>y[i];
if(x[i]==0)
l.push_back(i);
if(x[i]==A)
r.push_back(i);
}
sort(l.begin(),l.end(),[](int i, int j){
return y[i] < y[j];
});
sort(r.begin(),r.end(),[](int i, int j){
return y[i] < y[j];
});
//reverse(l.begin(),l.end());
while(m--){
int d,c,k;
cin>>c>>d>>k;
v[c].push_back(d);
rev[d].push_back(c);
if(k==2){
v[d].push_back(c);
rev[c].push_back(d);
}
}
vector<int>r1;
for(auto i:l)
del(i);
for(int i=1;i<=n;i++)
if(!vis[i])
removed[i]=1;
memset(vis,0,sizeof vis);
for(auto i:r)
delr(i);
for(int i=1;i<=n;i++)
if(!vis[i])
removed[i]=1;
for(int i=0;i<r.size();i++)
if(!removed[r[i]])
r1.push_back(r[i]);
int szl=l.size(),szr1=r1.size();
memset(vis,0,sizeof vis);
int idx=0;
for(int i=0;i<szl;i++){
if(removed[l[i]])continue;
dfs(l[i]);
while(idx+1<szr1 && vis[r1[idx+1]])
idx++;
mx[i]=idx;
}
memset(vis,0,sizeof vis);
idx=szr1-1;
for(int i=szl-1;i>=0;i--){
if(removed[l[i]])continue;
dfs(l[i]);
while(idx-1>=0 && vis[r1[idx-1]])
idx--;
mn[i]=idx;
}
vector<int>ans;
for(int i=0;i<szl;i++){
if(removed[l[i]]) ans.push_back(0);
else ans.push_back(mx[i]-mn[i]+1);
}
reverse(ans.begin(),ans.end());
for(auto i:ans)cout<<i<<'\n';
return 0;
}
Compilation message
tra.cpp: In function 'int main()':
tra.cpp:69:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
69 | for(int i=0;i<r.size();i++)
| ~^~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
32080 KB |
Output is correct |
2 |
Correct |
7 ms |
32080 KB |
Output is correct |
3 |
Correct |
7 ms |
32080 KB |
Output is correct |
4 |
Correct |
7 ms |
31944 KB |
Output is correct |
5 |
Correct |
9 ms |
30032 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
6 ms |
27984 KB |
Output is correct |
2 |
Correct |
8 ms |
32080 KB |
Output is correct |
3 |
Correct |
7 ms |
32080 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
32080 KB |
Output is correct |
2 |
Correct |
8 ms |
32176 KB |
Output is correct |
3 |
Correct |
8 ms |
32092 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
32080 KB |
Output is correct |
2 |
Correct |
12 ms |
30344 KB |
Output is correct |
3 |
Correct |
12 ms |
32336 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
28 ms |
30588 KB |
Output is correct |
2 |
Correct |
67 ms |
35668 KB |
Output is correct |
3 |
Correct |
37 ms |
29516 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
59 ms |
26952 KB |
Output is correct |
2 |
Correct |
112 ms |
32720 KB |
Output is correct |
3 |
Correct |
65 ms |
29464 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
122 ms |
29000 KB |
Output is correct |
2 |
Correct |
141 ms |
33448 KB |
Output is correct |
3 |
Correct |
215 ms |
31828 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
144 ms |
37704 KB |
Output is correct |
2 |
Correct |
149 ms |
39496 KB |
Output is correct |
3 |
Correct |
189 ms |
38984 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
221 ms |
40072 KB |
Output is correct |
2 |
Correct |
263 ms |
42196 KB |
Output is correct |
3 |
Correct |
370 ms |
40008 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
435 ms |
40644 KB |
Output is correct |
2 |
Correct |
544 ms |
48660 KB |
Output is correct |
3 |
Correct |
435 ms |
45700 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
811 ms |
58440 KB |
Output is correct |
2 |
Correct |
528 ms |
54308 KB |
Output is correct |
3 |
Correct |
907 ms |
52688 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
280 ms |
38180 KB |
Output is correct |
2 |
Correct |
544 ms |
62292 KB |
Output is correct |
3 |
Correct |
636 ms |
50284 KB |
Output is correct |
4 |
Correct |
978 ms |
69716 KB |
Output is correct |