Submission #584842

#TimeUsernameProblemLanguageResultExecution timeMemory
584842jack715Holiday (IOI14_holiday)C++14
7 / 100
5037 ms852 KiB
#include"holiday.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define pp pop_back #define mp make_pair #define bb back #define ff first #define ss second using namespace std; ll findtravel(int l, int r, int st) { if (l >= st) return r-st; if (r <= st) return st-l; return min(abs(st-l)*2+abs(st-r), abs(st-r)*2+abs(st-l)); } long long int findMaxAttraction(int n, int start, int d, int attraction[]) { ll ans = 0, D = d, travel, now; set<int> nums; for (int i = 0; i <= start; i++) { nums.clear(), now = 0; for (int j = i; j < start; j++) now += attraction[j], nums.insert(attraction[j]); for (int j = start; j < n; j++) { nums.insert(attraction[j]), now += attraction[j]; travel = findtravel(i, j, start); if (D-travel <= 0) continue; while (nums.size() > D-travel) now -= *nums.begin(), nums.erase(*nums.begin()); ans = max(ans, now); } } return ans; }

Compilation message (stderr)

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:32:32: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   32 |             while (nums.size() > D-travel)
      |                    ~~~~~~~~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...