제출 #531327

#제출 시각아이디문제언어결과실행 시간메모리
531327AlanRaisins (IOI09_raisins)C++17
10 / 100
76 ms26424 KiB
#include <bits/stdc++.h> #define I using #define WA using namespace std; #define on using ll = long long; #define Test(x) int AlanIQ = -(x); #define should ld = #define quit long double; #define OI int #define forever main #define Alan cin.tie(0); #define fai(x) ios::ios_base::sync_with_stdio(!x); #define Sharky return #define orz 0; WA on Test (109) ll dp[51][51][51][51], a[51][51], ps[51][51]; ll n, m; ll solve (ll i, ll j, ll k, ll l) { if (i == j && k == l) return 0; return dp[i][j][k][l] ? dp[i][j][k][l] : dp[i][j][k][l] = min({i==j?1e9:(solve(i,j-1,k,l)+solve(j,j,k,l)), i==j?1e9:(solve(i+1,j,k,l)+solve(i,i,k,l)), k==l?1e9:(solve(i,j,k+1,l)+solve(i,j,k,k)), k==l?1e9:(solve(i,j,k,l-1)+solve(i,j,l,l))}) + ps[j][l]-ps[j][k-1]-ps[i-1][l]+ps[i-1][k-1]; } I should quit OI forever () { Alan fai (true) cin >> n >> m; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; ps[i][j] = a[i][j] + ps[i][j-1] + ps[i-1][j] - ps[i-1][j-1]; } } cout << solve(1, n, 1, m) << "\n"; Sharky orz }
#Verdict Execution timeMemoryGrader output
Fetching results...