제출 #538788

#제출 시각아이디문제언어결과실행 시간메모리
538788beaconmc삶의 질 (IOI10_quality)C++14
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> typedef long long ll; #define FOR(i,x,y) for(ll i=x; i<y; i++) #define FORNEG(i,x,y) for(ll i=x; i>y; i--) using namespace std; #define ll int ll pos[10000000][2]; ll pref[5001][5001]; ll r, c, h, w; bool check(ll x){ pref.clear(); FOR(i,1,x+1){ ll a = pos[i][0]; ll b = pos[i][1]; pref[a+1][b+1] += 1; pref[max(0, a+1-w)][b+1] -= 1; pref[a+1][max(0, b+1-h)] -= 1; pref[max(0, a+1-w)][max(0, b+1-h)] += 1; FOR(i,0,5002){ FOR(j,1,5002){ pref[i][j] += pref[i-1][j]; } } FOR(i,0,5002){ FOR(j,1,5002){ pref[j][i] += pref[j-1][i]; } } FOR(i,0,5002){ FOR(j,0,5002){ if (pref[i][j] > (r+c)/2){ return true; } } } return false; } } int rectangle(int R, int C, int H, int W, int Q[3001][3001]) { r = R; c = C; h = H; w = W; FOR(i,0,R){ FOR(j,0,C){ pos[Q[i][j]][0] = i; pos[Q[i][j]][1] = j; } } int lo = 0; int hi = int(R*C/2)+1; while (lo < hi) { int mid = lo + (hi - lo) / 2; if (check(mid)) { hi = mid; } else { lo = mid + 1; } } return lo; }

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

quality.cpp: In function 'bool check(int)':
quality.cpp:14:10: error: request for member 'clear' in 'pref', which is of non-class type 'int [5001][5001]'
   14 |     pref.clear();
      |          ^~~~~
quality.cpp:44:1: warning: control reaches end of non-void function [-Wreturn-type]
   44 | }
      | ^