Submission #982327

#TimeUsernameProblemLanguageResultExecution timeMemory
982327Amirreza_FakhriStove (JOI18_stove)C++17
100 / 100
36 ms6736 KiB
// In the name of the God #include <bits/stdc++.h> #define ll long long // #define int long long #define pb push_back #define F first #define S second #define mp make_pair #define pii pair <int, int> #define smin(x, y) (x) = min((x), (y)) #define smax(x, y) (x) = max((x), (y)) #define all(x) (x).begin(), (x).end() using namespace std; // #pragma GCC optimize("O3,unroll-loops") // #pragma GCC target("avx2") const int inf = 1e9+7; const int mod = 998244353; const int maxn = 1e5+5; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int n, k, t[maxn]; multiset <int, greater <int> > st; int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> k; for (int i = 0; i < n; i++) { cin >> t[i]; if (i) st.insert(-t[i]+t[i-1]); } int ans = k-t[0]+t[n-1]; while (st.size() >= k) st.erase(st.begin()); for (auto it = st.begin(); it != st.end(); it++) ans += *it; cout << ans << '\n'; return 0; } /* srand(time(0)); cout << (rand()%1900) + 1 << ' ' << (rand()%2)+5 << '\n'; */

Compilation message (stderr)

stove.cpp: In function 'int32_t main()':
stove.cpp:35:22: warning: comparison of integer expressions of different signedness: 'std::multiset<int, std::greater<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   35 |     while (st.size() >= k) st.erase(st.begin());
      |            ~~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...