Submission #66596

# Submission time Handle Problem Language Result Execution time Memory
66596 2018-08-11T17:21:30 Z aquablitz11 Holiday (IOI14_holiday) C++14
47 / 100
391 ms 1720 KB
#include <bits/stdc++.h>
#include "holiday.h"
using namespace std;
using ll = long long;

const int N = 100010;

int lastbest = N;
ll solve(int att[], int n, int d)
{
    ll ans = 0, sum = 0;
    priority_queue<int, vector<int>, greater<int>> val;
    int bestix = 0;
    for (int i = 0; i < n && d > 0; ++i, --d) {
        val.push(att[i]);
        sum += att[i];
        while (val.size() > d) {
            sum -= val.top();
            val.pop();
        }
        if (sum > ans)
            bestix = i;
        ans = max(ans, sum);
    }
    assert(bestix <= lastbest+1);
    lastbest = bestix;
    return ans;
}

ll findMaxAttraction(int n, int start, int d, int att[])
{
    if (n > 3000 && start > 0)
        return -1;
    ll ans = 0;
    for (int i = 0; i <= start; ++i)
        ans = max(ans, solve(&att[start-i], n-start+i, d-i));
    if (start > 0) {
        start = n-start-1;
        reverse(att, att+n);
        lastbest = N; // FOR TESTING
        for (int i = 0; i <= start; ++i)
            ans = max(ans, solve(&att[start-i], n-start+i, d-i));
    }
    return ans;
}

Compilation message

holiday.cpp: In function 'll solve(int*, int, int)':
holiday.cpp:17:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while (val.size() > d) {
                ~~~~~~~~~~~^~~
grader.cpp: In function 'int main()':
grader.cpp:7:12: warning: variable 'n_s' set but not used [-Wunused-but-set-variable]
     int i, n_s;
            ^~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 472 KB Output is correct
3 Correct 3 ms 472 KB Output is correct
4 Correct 3 ms 520 KB Output is correct
5 Correct 3 ms 520 KB Output is correct
6 Correct 2 ms 520 KB Output is correct
7 Correct 3 ms 520 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 20 ms 1544 KB Output is correct
2 Correct 12 ms 1588 KB Output is correct
3 Correct 15 ms 1588 KB Output is correct
4 Correct 15 ms 1720 KB Output is correct
5 Correct 23 ms 1720 KB Output is correct
6 Correct 7 ms 1720 KB Output is correct
7 Correct 13 ms 1720 KB Output is correct
8 Correct 17 ms 1720 KB Output is correct
9 Correct 5 ms 1720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 145 ms 1720 KB Output is correct
2 Correct 44 ms 1720 KB Output is correct
3 Correct 63 ms 1720 KB Output is correct
4 Correct 391 ms 1720 KB Output is correct
5 Correct 295 ms 1720 KB Output is correct
6 Correct 20 ms 1720 KB Output is correct
7 Correct 20 ms 1720 KB Output is correct
8 Correct 22 ms 1720 KB Output is correct
9 Correct 23 ms 1720 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 16 ms 1720 KB Output isn't correct
2 Halted 0 ms 0 KB -