제출 #105833

#제출 시각아이디문제언어결과실행 시간메모리
105833Pro_ktmrCultivation (JOI17_cultivation)C++14
30 / 100
526 ms816 KiB
#include"bits/stdc++.h" using namespace std; #define LL long long #define MP(a,b) make_pair(a,b) LL W,H; int N; LL y[300],x[300]; int main(){ cin >> W >> H >> N; if(W > 40) return -1; for(int i=0; i<N; i++){ cin >> x[i] >> y[i]; x[i]--; y[i]--; } LL ans = LLONG_MAX; for(LL l=0; l<=40; l++){ for(LL r=0; r<=40; r++){ vector<LL> memo[40]; for(int i=0; i<N; i++){ for(LL j=max(0LL,x[i]-l); j<=min(W-1,x[i]+r); j++) memo[j].push_back(y[i]); } LL u = 0; LL d = 0; LL tmp = 0; for(LL i=0; i<W; i++){ sort(memo[i].begin(), memo[i].end()); if(memo[i].size() == 0){ tmp = LLONG_MAX-100; break; } u = max(u, memo[i][0]); d = max(d, H-memo[i].back()-1); for(int j=1; j<memo[i].size(); j++){ tmp = max(tmp, memo[i][j] - memo[i][j-1] - 1); } } ans = min(ans, l+r+max(u+d,tmp)); } } cout << ans << endl; return 0; }

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

cultivation.cpp: In function 'int main()':
cultivation.cpp:34:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int j=1; j<memo[i].size(); j++){
                  ~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...