# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
723206 |
2023-04-13T10:49:03 Z |
Cookie |
Robot (JOI21_ho_t4) |
C++14 |
|
3000 ms |
52872 KB |
#include<bits/stdc++.h>
#include<fstream>
using namespace std;
ifstream fin("WINTER.inp");
ofstream fout("WINTER.out");
#define ll long long
#define pb push_back
#define forr(i, a, b) for(int i = a; i < b; i++)
#define dorr(i, a, b) for(int i = a; i >= b; i--)
#define ld long double
#define vt vector
#include<fstream>
#define fi first
#define se second
#define pll pair<ll, ll>
#define pii pair<int, int>
const ld PI = 3.14159265359;
const ll mod = 1e9 + 7;
const int mxn = 1e5, mxm = 2e5;
struct th{
int v, color, cost, id;
};
struct ch{
int s; ll d; int last;
};
struct cmp{
bool operator()(const ch &a, const ch &b){
return(a.d > b.d);
}
};
int n, m;
vt<th>adj[mxn + 1];
map<int, ll>d[mxn + 1];
ll sm[mxm + 1];
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> m;
forr(i, 0, m){
int a, b, c, p; cin >> a >> b >> c >> p;
adj[a].pb({b, c, p, i}); adj[b].pb({a, c, p, i});
}
priority_queue<ch, vt<ch>, cmp>pq;
d[1][-1] = 0; pq.push({1, d[1][-1], -1});
while(!pq.empty()){
auto [u, dd, last] = pq.top(); pq.pop();
if(d[u][last] != dd)continue;
for(auto [v, color, cost, id]: adj[u]){
if(id == last)continue;
sm[color] += cost;
}
for(auto [v, color, cost, id]: adj[u]){
if(id == last)continue;
if(d[v].find(-1) == d[v].end() || d[v][-1] > dd + sm[color] - cost){
d[v][-1] = dd + sm[color] - cost;
pq.push({v, d[v][-1], -1});
}if(d[v].find(id) == d[v].end() || d[v][id] > dd + cost){
d[v][id] = dd + cost;
pq.push({v, d[v][id], id});
}
}
for(auto [v, color, cost, id]: adj[u]){
sm[color] = 0;
}
}
ll res = 1e18;
for(auto i: d[n]){
res = min(res, i.se);
}
if(res == 1e18){
cout << -1;
}else{
cout << res;
}
return(0);
}
Compilation message
Main.cpp: In function 'int main()':
Main.cpp:49:14: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
49 | auto [u, dd, last] = pq.top(); pq.pop();
| ^
Main.cpp:51:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
51 | for(auto [v, color, cost, id]: adj[u]){
| ^
Main.cpp:55:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
55 | for(auto [v, color, cost, id]: adj[u]){
| ^
Main.cpp:66:18: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
66 | for(auto [v, color, cost, id]: adj[u]){
| ^
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
7380 KB |
Output is correct |
2 |
Correct |
5 ms |
7380 KB |
Output is correct |
3 |
Correct |
4 ms |
7392 KB |
Output is correct |
4 |
Correct |
6 ms |
7352 KB |
Output is correct |
5 |
Correct |
4 ms |
7380 KB |
Output is correct |
6 |
Correct |
4 ms |
7324 KB |
Output is correct |
7 |
Correct |
8 ms |
7524 KB |
Output is correct |
8 |
Correct |
5 ms |
7508 KB |
Output is correct |
9 |
Correct |
49 ms |
7812 KB |
Output is correct |
10 |
Correct |
37 ms |
7844 KB |
Output is correct |
11 |
Correct |
61 ms |
7888 KB |
Output is correct |
12 |
Correct |
24 ms |
7764 KB |
Output is correct |
13 |
Correct |
61 ms |
7852 KB |
Output is correct |
14 |
Correct |
61 ms |
7848 KB |
Output is correct |
15 |
Correct |
5 ms |
7636 KB |
Output is correct |
16 |
Correct |
7 ms |
7764 KB |
Output is correct |
17 |
Correct |
6 ms |
7636 KB |
Output is correct |
18 |
Correct |
6 ms |
7380 KB |
Output is correct |
19 |
Correct |
20 ms |
7764 KB |
Output is correct |
20 |
Correct |
7 ms |
7784 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
443 ms |
27256 KB |
Output is correct |
2 |
Correct |
108 ms |
16256 KB |
Output is correct |
3 |
Correct |
1734 ms |
39736 KB |
Output is correct |
4 |
Correct |
201 ms |
20724 KB |
Output is correct |
5 |
Execution timed out |
3080 ms |
52872 KB |
Time limit exceeded |
6 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
5 ms |
7380 KB |
Output is correct |
2 |
Correct |
5 ms |
7380 KB |
Output is correct |
3 |
Correct |
4 ms |
7392 KB |
Output is correct |
4 |
Correct |
6 ms |
7352 KB |
Output is correct |
5 |
Correct |
4 ms |
7380 KB |
Output is correct |
6 |
Correct |
4 ms |
7324 KB |
Output is correct |
7 |
Correct |
8 ms |
7524 KB |
Output is correct |
8 |
Correct |
5 ms |
7508 KB |
Output is correct |
9 |
Correct |
49 ms |
7812 KB |
Output is correct |
10 |
Correct |
37 ms |
7844 KB |
Output is correct |
11 |
Correct |
61 ms |
7888 KB |
Output is correct |
12 |
Correct |
24 ms |
7764 KB |
Output is correct |
13 |
Correct |
61 ms |
7852 KB |
Output is correct |
14 |
Correct |
61 ms |
7848 KB |
Output is correct |
15 |
Correct |
5 ms |
7636 KB |
Output is correct |
16 |
Correct |
7 ms |
7764 KB |
Output is correct |
17 |
Correct |
6 ms |
7636 KB |
Output is correct |
18 |
Correct |
6 ms |
7380 KB |
Output is correct |
19 |
Correct |
20 ms |
7764 KB |
Output is correct |
20 |
Correct |
7 ms |
7784 KB |
Output is correct |
21 |
Correct |
443 ms |
27256 KB |
Output is correct |
22 |
Correct |
108 ms |
16256 KB |
Output is correct |
23 |
Correct |
1734 ms |
39736 KB |
Output is correct |
24 |
Correct |
201 ms |
20724 KB |
Output is correct |
25 |
Execution timed out |
3080 ms |
52872 KB |
Time limit exceeded |
26 |
Halted |
0 ms |
0 KB |
- |