#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
int n, m;
struct edge{
int x, y, c;
};
vector <edge> v;
void add_edge(int x, int y, int c){
v.push_back({x, y, c});
}
int d[5005];
queue <int> q;
bool bellman(){
for(int i = 1; i <= n ; ++i) d[i] = INF;
d[0] = 0;
for(int i = 1; i <= n + 1 ; ++i)
for(auto it : v) d[it.y] = min(d[it.y], d[it.x] + it.c);
for(auto it : v)
if(d[it.y] > d[it.x] + it.c) return 0;
return 1;
}
int main(){
scanf("%d%d", &n, &m);
for(int i = 1; i <= n ; ++i){
add_edge(i - 1, i, 1);
add_edge(i, i - 1, 0);
}
int l, r, k, val;
for(int i = 1; i <= m ; ++i){
scanf("%d%d%d%d", &l, &r, &k, &val);
++l; ++r;
if(val == 1) add_edge(r, l - 1, (k - 1) - (r - l + 1));
else add_edge(l - 1, r, (r - l + 1) - k);
}
bool ok = bellman();
if(!ok) printf("-1");
else{
for(int i = 1; i <= n ; ++i)
printf("%d ", d[i] - d[i - 1]);
}
return 0;
}
Compilation message
restore.cpp: In function 'int main()':
restore.cpp:32:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
32 | scanf("%d%d", &n, &m);
| ~~~~~^~~~~~~~~~~~~~~~
restore.cpp:40:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
40 | scanf("%d%d%d%d", &l, &r, &k, &val);
| ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
260 KB |
Output is correct |
2 |
Correct |
0 ms |
208 KB |
Output is correct |
3 |
Correct |
1 ms |
296 KB |
Output is correct |
4 |
Correct |
0 ms |
296 KB |
Output is correct |
5 |
Correct |
0 ms |
300 KB |
Output is correct |
6 |
Correct |
1 ms |
208 KB |
Output is correct |
7 |
Correct |
1 ms |
208 KB |
Output is correct |
8 |
Correct |
1 ms |
208 KB |
Output is correct |
9 |
Correct |
1 ms |
300 KB |
Output is correct |
10 |
Correct |
1 ms |
208 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
328 ms |
928 KB |
Output is correct |
2 |
Correct |
311 ms |
916 KB |
Output is correct |
3 |
Correct |
312 ms |
884 KB |
Output is correct |
4 |
Correct |
315 ms |
916 KB |
Output is correct |
5 |
Correct |
323 ms |
916 KB |
Output is correct |
6 |
Correct |
314 ms |
916 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
328 ms |
928 KB |
Output is correct |
2 |
Correct |
311 ms |
916 KB |
Output is correct |
3 |
Correct |
312 ms |
884 KB |
Output is correct |
4 |
Correct |
315 ms |
916 KB |
Output is correct |
5 |
Correct |
323 ms |
916 KB |
Output is correct |
6 |
Correct |
314 ms |
916 KB |
Output is correct |
7 |
Correct |
332 ms |
916 KB |
Output is correct |
8 |
Correct |
327 ms |
916 KB |
Output is correct |
9 |
Correct |
334 ms |
1048 KB |
Output is correct |
10 |
Correct |
314 ms |
916 KB |
Output is correct |
11 |
Correct |
312 ms |
888 KB |
Output is correct |
12 |
Correct |
324 ms |
916 KB |
Output is correct |
13 |
Correct |
317 ms |
888 KB |
Output is correct |
14 |
Correct |
336 ms |
936 KB |
Output is correct |
15 |
Correct |
326 ms |
936 KB |
Output is correct |
16 |
Correct |
340 ms |
916 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
260 KB |
Output is correct |
2 |
Correct |
0 ms |
208 KB |
Output is correct |
3 |
Correct |
1 ms |
296 KB |
Output is correct |
4 |
Correct |
0 ms |
296 KB |
Output is correct |
5 |
Correct |
0 ms |
300 KB |
Output is correct |
6 |
Correct |
1 ms |
208 KB |
Output is correct |
7 |
Correct |
1 ms |
208 KB |
Output is correct |
8 |
Correct |
1 ms |
208 KB |
Output is correct |
9 |
Correct |
1 ms |
300 KB |
Output is correct |
10 |
Correct |
1 ms |
208 KB |
Output is correct |
11 |
Correct |
328 ms |
928 KB |
Output is correct |
12 |
Correct |
311 ms |
916 KB |
Output is correct |
13 |
Correct |
312 ms |
884 KB |
Output is correct |
14 |
Correct |
315 ms |
916 KB |
Output is correct |
15 |
Correct |
323 ms |
916 KB |
Output is correct |
16 |
Correct |
314 ms |
916 KB |
Output is correct |
17 |
Correct |
332 ms |
916 KB |
Output is correct |
18 |
Correct |
327 ms |
916 KB |
Output is correct |
19 |
Correct |
334 ms |
1048 KB |
Output is correct |
20 |
Correct |
314 ms |
916 KB |
Output is correct |
21 |
Correct |
312 ms |
888 KB |
Output is correct |
22 |
Correct |
324 ms |
916 KB |
Output is correct |
23 |
Correct |
317 ms |
888 KB |
Output is correct |
24 |
Correct |
336 ms |
936 KB |
Output is correct |
25 |
Correct |
326 ms |
936 KB |
Output is correct |
26 |
Correct |
340 ms |
916 KB |
Output is correct |
27 |
Correct |
298 ms |
916 KB |
Output is correct |
28 |
Correct |
318 ms |
940 KB |
Output is correct |
29 |
Correct |
314 ms |
908 KB |
Output is correct |
30 |
Correct |
321 ms |
916 KB |
Output is correct |
31 |
Correct |
301 ms |
876 KB |
Output is correct |
32 |
Correct |
311 ms |
916 KB |
Output is correct |
33 |
Correct |
323 ms |
1044 KB |
Output is correct |
34 |
Correct |
316 ms |
916 KB |
Output is correct |
35 |
Correct |
321 ms |
908 KB |
Output is correct |
36 |
Correct |
314 ms |
868 KB |
Output is correct |