제출 #147286

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
1472862019-08-28 18:06:19TAMREFHoliday (IOI14_holiday)C++11
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int a[100005];
int n, st, d;
vector<int> cmp;
struct Segtree{
ll seg[262500];
int cnt[262500];
void init(){
memset(seg, 0, sizeof(seg));
memset(cnt, 0, sizeof(cnt));
}
void upd(int now, int s, int e, int i, int v){
if(i < s || i > e) return;
cnt[now] += v;
seg[now] += v * cmp[i];
if(s == e) return;
int m = s + e >> 1;
upd(now << 1, s, m, i, v);
upd(now << 1 | 1, m+1, e, i, v);
}
ll sum_max_kth(int now, int s, int e, int k){
if(!k) return 0;
if(s == e) return ll(min(cnt[now], k)) * cmp[s];
int m = s + e >> 1;
if(cnt[now << 1 | 1] > k) return sum_max_kth(now<<1|1, m+1, e, k);
else return sum_max_kth(now << 1, s, m, k - cnt[now<<1|1]) + seg[now<<1|1];
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

holiday.cpp: In member function 'void Segtree::upd(int, int, int, int, int)':
holiday.cpp:21:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int m = s + e >> 1;
           ~~^~~
holiday.cpp: In member function 'll Segtree::sum_max_kth(int, int, int, int)':
holiday.cpp:28:13: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   int m = s + e >> 1;
           ~~^~~
holiday.cpp: In function 'void init(int, int, int, int*)':
holiday.cpp:61:28: error: incompatible types in assignment of 'int*' to 'int [100005]'
  n = N; st = S; d = D; a = A;
                            ^
holiday.cpp: In function 'void dnc(int, int, int, int)':
holiday.cpp:77:12: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
  int m = s + e >> 1;
          ~~^~~