結果
問題 | No.2509 Beam Shateki |
ユーザー |
👑 |
提出日時 | 2023-10-20 21:44:41 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,804 bytes |
コンパイル時間 | 4,227 ms |
コンパイル使用メモリ | 256,532 KB |
最終ジャッジ日時 | 2025-02-17 08:52:17 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 TLE * 1 -- * 50 |
ソースコード
#include<bits/stdc++.h>#include<atcoder/all>#define rep(i,n) for(int i=0;i<n;i++)using namespace std;using namespace atcoder;typedef long long ll;typedef vector<int> vi;typedef vector<long long> vl;typedef vector<vector<int>> vvi;typedef vector<vector<long long>> vvl;typedef long double ld;template <int m>std::ostream& operator<<(std::ostream& os, const atcoder::static_modint<m>& a) {os << a.val(); return os;}template<typename T>istream& operator>>(istream& is, vector<T>& v){int n = v.size(); assert(n > 0); rep(i, n) is >> v[i]; return is;}template<typename T>ostream& operator<<(ostream& os, const vector<T>& v){int n = v.size(); rep(i, n) os << v[i] << (i == n - 1 ? "\n" : " "); return os;}template <typename T>ostream& operator<<(ostream& os, const vector<vector<T>>& v){int n = v.size(); rep(i, n) os << v[i] << (i == n - 1 ? "\n" : ""); return os;}int main(){int h, w;cin >> h >> w;vector<vector<int>> a(h, vi(w));rep(y, h) cin >> a[y];int ans = 0;int n = h + w + (h + w - 1) + (h + w - 1);vi v(2);for(v[0] = 0; v[0] < n; v[0]++){for(v[1] = 0; v[1] < n; v[1]++){set<pair<int, int>> se;rep(i, 2){if(v[i] < h){int y = v[i];rep(x, w) se.insert(make_pair(y, x));}else if(v[i] < h + w){int x = v[i] - h;rep(y, h) se.insert(make_pair(y, x));}else if(v[i] < h + w + (h + w - 1)){int s = v[i] - (h + w);rep(y, h){int x = s - y;if(x >= 0 and x < w) se.insert(make_pair(y, x));}}else{int d = v[i] - (h + w + (h + w - 1)) - (w - 1);rep(y, h){int x = y - d;if(x >= 0 and x < w) se.insert(make_pair(y, x));}}}int tmp = 0;for(auto [y, x] : se){tmp += a[y][x];}ans = max(ans, tmp);}}cout << ans;return 0;}