제출 #198724

#제출 시각아이디문제언어결과실행 시간메모리
198724stormy_weatherArt Exhibition (JOI18_art)C++14
100 / 100
260 ms23928 KiB
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;

int main() {
  ios_base :: sync_with_stdio(false);
  
  int n; cin >> n;

  vector <pair <int64_t, int>> values(n);
  for (int i = 0; i < n; i++) {
    cin >> values[i].first >> values[i].second;
  }

  sort(values.begin(), values.end());

  vector <int64_t> p_sum(n);
  for (int i = 0; i < n; i++) {
    p_sum[i] = i > 0 ? p_sum[i - 1] + values[i].second : values[i].second;
  }

  //we determine our functions
  vector <int64_t> first_part(n), second_part(n);
  for (int i = 0; i < n; i++) {
    first_part[i] = p_sum[i] - values[i].first;
    second_part[i] = i > 0 ? p_sum[i - 1] - values[i].first : -1 * values[i].first;
  }

  vector <int64_t> min_second_part(n);
  int64_t min = second_part[0];
  for (int i = 0; i < n; i++) {
    if (second_part[i] <= min)
      min = second_part[i];
    min_second_part[i] = min;
  }

  //we determine our max difference
  int64_t max_dif;
  for (int i = 0; i < n; i++) {
    int64_t cur_dif = first_part[i] - min_second_part[i];
    if (i == 0 || cur_dif > max_dif)
      max_dif = cur_dif;
  }

  cout << max_dif << "\n";

  return 0;
}

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

art.cpp: In function 'int main()':
art.cpp:42:27: warning: 'max_dif' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if (i == 0 || cur_dif > max_dif)
                   ~~~~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...