제출 #50493

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

using namespace std;

const int N = 1e5 + 2;

int n, cnt[N];

long long int findMaxAttraction(int N, int start, int d, int attraction[]) {
      n = N;
      int fl = 1;
      long long ans = 0;
      for(int i = 0; i < n; i ++)
            if(attraction[i] > 100) fl = 0;
      if(!start && fl){
            for(int i = 0; i < n; i ++){
                  cnt[attraction[i]] ++;
                  long long res = 0;
                  if(i < d){
                        int now = d - i;
                        for(int i = 100; i >= 0; i --){
                              if(now >= cnt[i]){
                                    res += cnt[i] * i;
                                    now -= cnt[i];
                              } else {
                                    res += now * i;
                                    now = 0;
                              }
                        }
                  }
                  ans = max(ans, res);
            }
      } else {
            if(n <= 20){
                  for(int mask = 1; mask < (1 << n); mask ++){
                        int kol = 0;
                        long long res = 0, l, r;
                        for(int i = 0; i < n; i ++){
                              int bit = (1 << i) & mask;
                              if(bit){
                                    res += attraction[i];
                                    if(l == -1) l = i;
                                    r = i;
                                    kol ++;
                              }
                        }
                        kol += min( max(0ll, start - l) * 2 + max(0ll, r - start), max(0ll, start - l) + max(0ll, r - start) * 2 );
                        if(kol <= d) ans = max(ans, res);
                  }
            }
      }
      return ans;
}

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

holiday.cpp: In function 'long long int findMaxAttraction(int, int, int, int*)':
holiday.cpp:38:44: warning: 'l' may be used uninitialized in this function [-Wmaybe-uninitialized]
                         long long res = 0, l, r;
                                            ^
holiday.cpp:48:117: warning: 'r' may be used uninitialized in this function [-Wmaybe-uninitialized]
                         kol += min( max(0ll, start - l) * 2 + max(0ll, r - start), max(0ll, start - l) + max(0ll, r - start) * 2 );
                                                                                                                   ~~^~~~~~~
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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...