# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
493853 |
2021-12-13T07:47:26 Z |
PixelCat |
Robot (JOI21_ho_t4) |
C++14 |
|
633 ms |
102460 KB |
#include <bits/stdc++.h>
#define For(i,a,b) for(int i=a;i<=b;i++)
#define Forr(i,a,b) for(int i=a;i>=b;i--)
#define F first
#define S second
#define all(x) x.begin(),x.end()
#define sz(x) ((int)x.size())
#define eb emplace_back
#define INF (1000000000000000ll);
#define int ll
using namespace std;
using ll=long long;
using pii=pair<int,int>;
// color -> vector( (to,cost) )
map<int,vector<pii>> adj[100010];
map<int,int> cnt[100010];
vector<pii> g[100010];
int dist[100010];
int32_t main(){
ios::sync_with_stdio(false);
cin.tie(0);
// nachoneko sama & miku sama bless me >/////<
int n,m; cin>>n>>m;
For(i,1,m){
int a,b,c,p; cin>>a>>b>>c>>p;
adj[a][c].eb(b,p);
adj[b][c].eb(a,p);
cnt[a][c]++;
cnt[b][c]++;
}
For(i,1,n){
for(auto &item:adj[i]){
auto &ad=item.S;
if(sz(ad)==1){
g[i].eb(ad[0].F,0ll);
continue;
}
sort(all(ad),[](const pii &a,const pii &b){
return a.S>b.S;
});
int tot=0;
for(auto &j:ad) tot+=j.S;
for(auto &j:ad){
g[i].eb(j.F,j.S);
}
// leave the biggest edge, change the rest
g[i].eb(ad[0].F,tot-ad[0].S);
For(iter,1,sz(ad)-1){
g[ad[iter].F].eb(ad[0].F,tot-ad[0].S);
}
// leave the 2nd biggest edge, change the rest
g[i].eb(ad[1].F,tot-ad[1].S);
For(iter,0,sz(ad)-1) if(iter!=1){
g[ad[iter].F].eb(ad[1].F,tot-ad[1].S);
}
}
}
// dijkstra on g[]
memset(dist,-1,sizeof(dist));
priority_queue<pii,vector<pii>,greater<pii>> pq;
pq.emplace(0,1);
while(!pq.empty()){
int d=pq.top().F;
int now=pq.top().S;
pq.pop();
if(dist[now]!=-1) continue;
dist[now]=d;
for(auto &e:g[now]) if(dist[e.F]==-1){
pq.emplace(d+e.S,e.F);
}
}
cout<<dist[n]<<"\n";
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
12748 KB |
Output is correct |
2 |
Correct |
8 ms |
12772 KB |
Output is correct |
3 |
Correct |
6 ms |
12748 KB |
Output is correct |
4 |
Correct |
6 ms |
12748 KB |
Output is correct |
5 |
Correct |
6 ms |
12876 KB |
Output is correct |
6 |
Correct |
6 ms |
12748 KB |
Output is correct |
7 |
Correct |
8 ms |
13132 KB |
Output is correct |
8 |
Correct |
7 ms |
13004 KB |
Output is correct |
9 |
Correct |
9 ms |
13644 KB |
Output is correct |
10 |
Correct |
9 ms |
13644 KB |
Output is correct |
11 |
Correct |
9 ms |
13516 KB |
Output is correct |
12 |
Correct |
8 ms |
13388 KB |
Output is correct |
13 |
Correct |
9 ms |
13516 KB |
Output is correct |
14 |
Correct |
8 ms |
13488 KB |
Output is correct |
15 |
Correct |
8 ms |
13132 KB |
Output is correct |
16 |
Correct |
10 ms |
13368 KB |
Output is correct |
17 |
Correct |
9 ms |
13388 KB |
Output is correct |
18 |
Correct |
7 ms |
12984 KB |
Output is correct |
19 |
Correct |
9 ms |
13516 KB |
Output is correct |
20 |
Correct |
8 ms |
13260 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
173 ms |
41404 KB |
Output is correct |
2 |
Correct |
68 ms |
25200 KB |
Output is correct |
3 |
Correct |
255 ms |
52916 KB |
Output is correct |
4 |
Correct |
114 ms |
31164 KB |
Output is correct |
5 |
Correct |
613 ms |
94924 KB |
Output is correct |
6 |
Correct |
518 ms |
83860 KB |
Output is correct |
7 |
Correct |
373 ms |
68552 KB |
Output is correct |
8 |
Correct |
458 ms |
69792 KB |
Output is correct |
9 |
Correct |
477 ms |
69980 KB |
Output is correct |
10 |
Correct |
327 ms |
57980 KB |
Output is correct |
11 |
Correct |
182 ms |
43100 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
7 ms |
12748 KB |
Output is correct |
2 |
Correct |
8 ms |
12772 KB |
Output is correct |
3 |
Correct |
6 ms |
12748 KB |
Output is correct |
4 |
Correct |
6 ms |
12748 KB |
Output is correct |
5 |
Correct |
6 ms |
12876 KB |
Output is correct |
6 |
Correct |
6 ms |
12748 KB |
Output is correct |
7 |
Correct |
8 ms |
13132 KB |
Output is correct |
8 |
Correct |
7 ms |
13004 KB |
Output is correct |
9 |
Correct |
9 ms |
13644 KB |
Output is correct |
10 |
Correct |
9 ms |
13644 KB |
Output is correct |
11 |
Correct |
9 ms |
13516 KB |
Output is correct |
12 |
Correct |
8 ms |
13388 KB |
Output is correct |
13 |
Correct |
9 ms |
13516 KB |
Output is correct |
14 |
Correct |
8 ms |
13488 KB |
Output is correct |
15 |
Correct |
8 ms |
13132 KB |
Output is correct |
16 |
Correct |
10 ms |
13368 KB |
Output is correct |
17 |
Correct |
9 ms |
13388 KB |
Output is correct |
18 |
Correct |
7 ms |
12984 KB |
Output is correct |
19 |
Correct |
9 ms |
13516 KB |
Output is correct |
20 |
Correct |
8 ms |
13260 KB |
Output is correct |
21 |
Correct |
173 ms |
41404 KB |
Output is correct |
22 |
Correct |
68 ms |
25200 KB |
Output is correct |
23 |
Correct |
255 ms |
52916 KB |
Output is correct |
24 |
Correct |
114 ms |
31164 KB |
Output is correct |
25 |
Correct |
613 ms |
94924 KB |
Output is correct |
26 |
Correct |
518 ms |
83860 KB |
Output is correct |
27 |
Correct |
373 ms |
68552 KB |
Output is correct |
28 |
Correct |
458 ms |
69792 KB |
Output is correct |
29 |
Correct |
477 ms |
69980 KB |
Output is correct |
30 |
Correct |
327 ms |
57980 KB |
Output is correct |
31 |
Correct |
182 ms |
43100 KB |
Output is correct |
32 |
Correct |
211 ms |
55740 KB |
Output is correct |
33 |
Correct |
206 ms |
50808 KB |
Output is correct |
34 |
Correct |
347 ms |
67252 KB |
Output is correct |
35 |
Correct |
270 ms |
53628 KB |
Output is correct |
36 |
Correct |
314 ms |
57256 KB |
Output is correct |
37 |
Correct |
411 ms |
70980 KB |
Output is correct |
38 |
Correct |
382 ms |
70096 KB |
Output is correct |
39 |
Correct |
240 ms |
62804 KB |
Output is correct |
40 |
Correct |
504 ms |
73072 KB |
Output is correct |
41 |
Correct |
507 ms |
73636 KB |
Output is correct |
42 |
Correct |
462 ms |
80684 KB |
Output is correct |
43 |
Correct |
208 ms |
48752 KB |
Output is correct |
44 |
Correct |
445 ms |
75640 KB |
Output is correct |
45 |
Correct |
372 ms |
59604 KB |
Output is correct |
46 |
Correct |
315 ms |
59492 KB |
Output is correct |
47 |
Correct |
341 ms |
64640 KB |
Output is correct |
48 |
Correct |
633 ms |
102460 KB |
Output is correct |