제출 #331099

#제출 시각아이디문제언어결과실행 시간메모리
331099evpipisRestore Array (RMI19_restore)C++11
7 / 100
613 ms872 KiB
#include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define mp make_pair typedef pair<int, int> ii; const int len = 5005, inf = 1e9; int dis[len], n, m; //vector<int> adj[len]; struct edge{ int a, b, c; edge(){} edge(int i, int j, int k){ a = i, b = j, c = k; } }; vector<edge> edg; void add(int a, int b, int c){ //adj[a].pb(mp(b, c)); edg.pb(edge(a, b, c)); } void bellman(){ for (int i = 1; i <= n; i++) dis[i] = inf; for (int rep = 0; rep < n; rep++) for (auto e: edg) if (dis[e.a]+e.c < dis[e.b]) dis[e.b] = dis[e.a]+e.c; /*for (int u = 0; u <= n; u++) for (auto v: adj[u]) if (dis[u]+v.se < dis[v.fi]) dis[v.fi] = dis[u]+v.se;*/ } bool negative(){ for (auto e: edg) if (dis[e.a]+e.c < dis[e.b]) return true; /*for (auto v: adj[u]) if (dis[u]+v.se < dis[v.fi]) return true;*/ return false; } void print(){ for (int i = n; i >= 1; i--) dis[i] = 1-(dis[i]-dis[i-1]); for (int i = 1; i <= n; i++) printf("%d ", dis[i]); printf("\n"); } int main(){ scanf("%d %d", &n, &m); for (int i = 1; i <= n; i++){ add(i-1, i, 1); add(i, i-1, 0); } for (int i = 0; i < m; i++){ int l, r, k, v; scanf("%d %d %d %d", &l, &r, &k, &v); l++, r++; if (v == 0) add(r, l-1, -k); else add(l-1, r, k-1); } bellman(); if (negative()){ printf("-1\n"); return 0; } print(); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

restore.cpp: In function 'int main()':
restore.cpp:64:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   64 |     scanf("%d %d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~~
restore.cpp:73:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   73 |         scanf("%d %d %d %d", &l, &r, &k, &v);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...