Submission #775637

#TimeUsernameProblemLanguageResultExecution timeMemory
775637danikoynovHoliday (IOI14_holiday)C++14
23 / 100
5039 ms10080 KiB
#include"holiday.h"
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

long long int findMaxAttraction(int n, int start, int d, int attraction[])
{
    ll ans = 0;
    for (int i = 0; i <= start; i ++)
    {
        multiset < ll > st;
        ll sum = 0;
        for (int j = i; j < start; j ++)
        {
            sum = sum + attraction[j];
            st.insert(attraction[j]);
        }
        for (int j = i; j < n; j ++)
        {
            sum = sum + attraction[j];
            st.insert(attraction[j]);
            int lf = start - i, rf = j - start;
            int left = d - min(lf, rf) * 2 - max(lf, rf);
            if (left < 0)
                break;
            while(st.size() > left)
            {
                sum = sum - *st.begin();
                st.erase(st.begin());
            }
            if (sum > ans)
                ans = sum;
        }
    }

    return ans;
}

Compilation message (stderr)

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