제출 #500770

#제출 시각아이디문제언어결과실행 시간메모리
500770InternetPerson10휴가 (IOI14_holiday)C++17
23 / 100
460 ms5388 KiB
#include "holiday.h"
#include <bits/stdc++.h>
#include <bits/extc++.h>

using namespace std;
typedef long long ll;

long long int findMaxAttraction(int n, int start, int d, int attraction[]) {
    ll best = 0;
    // Try left
    ll ans = 0;
    multiset<int> s;
    int g = d;
    for(int i = start; i < n; i++) {
        ans += attraction[i];
        s.insert(attraction[i]);
        while(g < s.size()) {
            auto it = s.begin();
            ans -= *(it);
            s.erase(it); 
        }
        g--;
        best = max(ans, best);
        if(g == 0) break;
    }
    multiset<int>().swap(s);
    // Try right
    g = d;
    ans = 0;
    for(int i = start; i >= 0; i--) {
        ans += attraction[i];
        s.insert(attraction[i]);
        while(g < s.size()) {
            auto it = s.begin();
            ans -= *(it);
            s.erase(it);
        }
        g--;
        best = max(ans, best);
        if(g == 0) break;
    }
    multiset<int>().swap(s);
    if(n <= 20) { // Subtask 1
         
    }
    else if(start == 0) { // Subtask 2
        return best;
    }
    else if(n <= 3000) { // Subtask 3
        for(int le = 0; le < start; le++) {
            int l = start - le;
            ans = 0;
            set<int> s;
            for(int i = le; i <= start; i++) s.insert(attraction[i]);
            for(int rr = start+1; rr < n; rr++) {
                int r = rr - start;
            }
        }
    }
    // Subtask 4
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:17:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::multiset<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   17 |         while(g < s.size()) {
      |               ~~^~~~~~~~~~
holiday.cpp:33:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::multiset<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |         while(g < s.size()) {
      |               ~~^~~~~~~~~~
holiday.cpp:56:21: warning: unused variable 'r' [-Wunused-variable]
   56 |                 int r = rr - start;
      |                     ^
holiday.cpp:51:17: warning: unused variable 'l' [-Wunused-variable]
   51 |             int l = start - le;
      |                 ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...