Submission #1064521

#TimeUsernameProblemLanguageResultExecution timeMemory
1064521beaconmcTricks of the Trade (CEOI23_trade)C++14
5 / 100
8061 ms5212 KiB
#include <bits/stdc++.h> typedef long long ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(ll i=x; i>y; i--) using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); ll n,k; cin >> n >> k; vector<ll> price(n), sell(n); FOR(i,0,n) cin >> price[i]; FOR(i,0,n) cin >> sell[i]; ll ans = -1000000000000000; FOR(i,0,n){ set<array<ll,2>> stuff; ll sum = 0; ll cost = 0; FOR(j,i,n){ cost += price[j]; sum += sell[j]; stuff.insert({sell[j], j}); if (stuff.size() > k){ auto it = stuff.begin(); sum -= (*it)[0]; stuff.erase(it); } if (stuff.size()==k) ans = max(ans, sum-cost); } } cout << ans << "\n"; vector<ll> used(n); FOR(i,0,n){ set<array<ll,2>> stuff; ll sum = 0; ll cost = 0; FOR(j,i,n){ cost += price[j]; sum += sell[j]; stuff.insert({sell[j], -j}); if (stuff.size() > k){ auto it = stuff.begin(); sum -= (*it)[0]; stuff.erase(it); } if (stuff.size()==k && (sum-cost) == ans){ for (auto&i : stuff) used[-i[1]] = 1; } } } for (auto&i : used) cout << i; }

Compilation message (stderr)

trade.cpp: In function 'int main()':
trade.cpp:30:21: warning: comparison of integer expressions of different signedness: 'std::set<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   30 |    if (stuff.size() > k){
      |        ~~~~~~~~~~~~~^~~
trade.cpp:36:20: warning: comparison of integer expressions of different signedness: 'std::set<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   36 |    if (stuff.size()==k) ans = max(ans, sum-cost);
      |        ~~~~~~~~~~~~^~~
trade.cpp:56:21: warning: comparison of integer expressions of different signedness: 'std::set<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   56 |    if (stuff.size() > k){
      |        ~~~~~~~~~~~~~^~~
trade.cpp:62:20: warning: comparison of integer expressions of different signedness: 'std::set<std::array<long long int, 2> >::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
   62 |    if (stuff.size()==k && (sum-cost) == ans){
      |        ~~~~~~~~~~~~^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...