Submission #769052

#TimeUsernameProblemLanguageResultExecution timeMemory
769052vjudge1Holiday (IOI14_holiday)C++17
47 / 100
5069 ms2996 KiB
#include"holiday.h"
#include<bits/stdc++.h>
using namespace std;
long long findMaxAttraction(int n, int start, int d, int attraction[]) {
    long long ans;
    for(int l = 0; l <= start; l++) {
        priority_queue<int, vector<int>, greater<int>> pq;
        long long sum = 0;
        for(int i = l; i < start; i++) {
            pq.push(attraction[i]);
            sum+=attraction[i];
        }
        for(int r = start; r < n; r++) {
            int dis = r-l+min(start-l, r-start);
            if(dis>=d) break;
            pq.push(attraction[r]);
            sum+=attraction[r];
            while(pq.size()>d-dis) {
                sum-=pq.top();
                pq.pop();
            }
            ans = max(ans, sum);
        }
    }
    return ans;
}

Compilation message (stderr)

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:18:28: warning: comparison of integer expressions of different signedness: 'std::priority_queue<int, std::vector<int>, std::greater<int> >::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   18 |             while(pq.size()>d-dis) {
      |                   ~~~~~~~~~^~~~~~
holiday.cpp:25:12: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
   25 |     return 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...