제출 #456298

#제출 시각아이디문제언어결과실행 시간메모리
456298armand사탕 분배 (IOI21_candies)C++17
0 / 100
5048 ms13348 KiB
#include "candies.h" #include <vector> #include <algorithm> bool all_pos(std::vector<int>& v) { int n = v.size(); for (int i = 0; i < n; i++) if (v[i] < 0) return false; return true; } std::vector<int> solve2(std::vector<int> c, std::vector<int> l, std::vector<int> r, std::vector<int> v) { int i, j; int n = c.size(); std::vector<int> s(n), p(n+1); int m = v.size(); for (i = 0; i < n + 1; i++) p[i] = 0; for (i = 0; i < m; i++) { p[l[i]] += v[i]; p[r[i] + 1] -= v[i]; } for (i = 1; i < n + 1; i++) p[i] += p[i - 1]; for (i = 0; i < n; i++) s[i] = std::min(p[i], c[i]); return s; } std::vector<int> distribute_candies(std::vector<int> c, std::vector<int> l, std::vector<int> r, std::vector<int> v) { int i, j; int n = c.size(); std::vector<int> s(n); int m = v.size(); if (all_pos(v)) return solve2(c, l, r, v); for (i = 0; i < m; i++) { if (v[i] > 0) for (j = l[i]; j <= r[i]; j++) s[j] = std::min(c[j], s[j] + v[i]); else for (j = l[i]; j <= r[i]; j++) s[j] = s[j] + v[i] < 0 ? 0 : s[j] + v[i]; } return s; }

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

candies.cpp: In function 'std::vector<int> solve2(std::vector<int>, std::vector<int>, std::vector<int>, std::vector<int>)':
candies.cpp:18:9: warning: unused variable 'j' [-Wunused-variable]
   18 |  int i, j;
      |         ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...