제출 #749505

#제출 시각아이디문제언어결과실행 시간메모리
749505farhan132메기 농장 (IOI22_fish)C++17
컴파일 에러
0 ms0 KiB
#include "fish.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef double dd; typedef pair<ll , ll> ii; typedef tuple < ll, ll, ll > tp; #define mem(a , b) memset(a, b ,sizeof(a)) const ll N = 3005; ll dp[2][2][N], pref[2][2][N], suf[2][2][N]; ll a[N][N]; ll n; long long max_weights(int _n, int m, std::vector<int> X, std::vector<int> Y, std::vector<int> W) { n = _n; mem(a, 0); mem(dp, 0); mem(pref, 0); for(ll i = 0; i < m; i++){ a[X[i]][Y[i]] = W[i]; } for(ll i = 0; i < n; i++){ for(ll j = 1; j <= n; j++){ a[i][j] += a[i][j - 1]; } } ll row = 0; mem(dp[row], 0); mem(pref[row], 0); mem(suf[row], 0); ll ans = 0; for(ll i = 0; i < n; i++){ row ^= 1; mem(dp[row], 0); mem(pref[row], 0); mem(suf[row], 0); // 0 -> i-1 > i, i > i+1 // 1 -> i-1 < i, i < i+1 for(ll l = 0; l < 2; l++){ for(ll r = 0; r < 2; r++){ if(!l && r) continue; for(ll j = 0; j < n; j++){ ll V = 0; if(l == 0){ V = suf[1-row][l][j] - a[i][j]; }else{ V = pref[1-row][l][j] + (i > 0 ? a[i - 1][j] : 0); } if(r == 0){ V += a[i + 1][j]; }else{ V -= a[i][j]; } dp[row][r][j] = max(dp[row][r][j], V); ans = max(ans, V); } } } for(ll c = 0; c < 2; c++){ for(ll j = n - 1; j >= 0; j--){ suf[row][c][j] = max(suf[row][c][j + 1], dp[row][c][j]); } for(ll j = 0; j < n; j++){ pref[row][c][j] = max(dp[row][c][j], (j > 0 ? pref[row][c][j - 1], 0)); } } } return ans; }

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

fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:70:77: warning: left operand of comma operator has no effect [-Wunused-value]
   70 |             pref[row][c][j] = max(dp[row][c][j], (j > 0 ? pref[row][c][j - 1], 0));
      |                                                           ~~~~~~~~~~~~~~~~~~^
fish.cpp:70:81: error: expected ':' before ')' token
   70 |             pref[row][c][j] = max(dp[row][c][j], (j > 0 ? pref[row][c][j - 1], 0));
      |                                                                                 ^
      |                                                                                 :
fish.cpp:70:81: error: expected primary-expression before ')' token