제출 #307177

#제출 시각아이디문제언어결과실행 시간메모리
307177radaiosm7Stove (JOI18_stove)C++98
100 / 100
53 ms7152 KiB
#include <bits/stdc++.h> using namespace std; int n, k, i, a, b, ans; vector<pair<int,int>> ranges; unordered_set<int> check; vector<int> diff; int main() { //freopen("test.in", "r", stdin); scanf("%d %d", &n, &k); check.rehash(n); ans = n; k--; for (i=0; i < n; i++) { scanf("%d", &a); check.insert(a); if (check.find(a-1) != check.end()) { ranges[ranges.size()-1].second = a+1; } else { ranges.push_back(make_pair(a, a+1)); } } for (i=1; i < ranges.size(); i++) { diff.push_back(ranges[i].first - ranges[i-1].second); } k = diff.size() - k; sort(diff.begin(), diff.end()); for (i=0; i < k; i++) { ans += diff[i]; } printf("%d\n", ans); return 0; }

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

stove.cpp: In function 'int main()':
stove.cpp:29:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |   for (i=1; i < ranges.size(); i++) {
      |             ~~^~~~~~~~~~~~~~~
stove.cpp:11:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   11 |   scanf("%d %d", &n, &k);
      |   ~~~~~^~~~~~~~~~~~~~~~~
stove.cpp:17:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   17 |     scanf("%d", &a);
      |     ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...