Submission #584829

#TimeUsernameProblemLanguageResultExecution timeMemory
584829jack715Holiday (IOI14_holiday)C++14
7 / 100
5048 ms812 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 < n; i++) { nums.clear(), now = 0; for (int j = i; 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:30:32: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   30 |             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...