ログインしてください。
提出 #41097423
ソースコード 拡げる
#include <atcoder/all>
using namespace atcoder;
#include <bits/stdc++.h>
#include <cassert>
using namespace std;
using ll = long long;
const double pi = 3.14159265359;
const ll INF = 1LL << 60;
template<class T> inline bool chmin(T& a, T b){ if (a > b){a = b; return true;} return false;}
template<class T> inline bool chmax(T& a, T b){ if (a < b){a = b; return true;} return false;}
//using mint = modint998244353;
//using mint = modint1000000007;
//using mint = modint; // mint::set_mod(p); later
//using mint = static_modint<1000000009>;
ll op(ll a, ll b){ return max(a, b); }
ll e(){ return -1; }
int main()
{
cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
// 入力
int N;
cin >> N;
vector<int> r(N), c(N), x(N);
map<int, int> mpr, mpc;
for (int i = 0; i < N; i++){
cin >> r[i] >> c[i] >> x[i];
mpr[r[i]] = 0;
mpc[c[i]] = 0;
}
// 座標圧縮
int mr = 0;
for (auto &p : mpr){ p.second = mr++; }
int mc = 0;
for (auto &p : mpc){ p.second = mc++; }
// 各行、列ごとの和
vector<ll> sumr(mr), sumc(mc);
// 各行にある点のリスト
vector<vector<pair<int, int>>> vec(mr);
for (int i = 0; i < N; i++){
int ri = mpr[r[i]];
int ci = mpc[c[i]];
sumr[ri] += x[i];
sumc[ci] += x[i];
vec[ri].emplace_back(ci, x[i]);
}
// Solve
segtree<ll, op, e> seg(mc);
for (int i = 0; i < mc; i++){
seg.set(i, sumc[i]);
}
ll ans = 0;
for (int i = 0; i < mr; i++){
for (auto p : vec[i]){
auto [cj, xj] = p;
seg.set(cj, seg.get(cj) - xj);
}
chmax(ans, sumr[i] + seg.all_prod());
for (auto p : vec[i]){
auto [cj, xj] = p;
seg.set(cj, seg.get(cj) + xj);
}
}
cout << ans << endl;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | F - Rook Score |
| ユーザ | unnohideyuki |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 500 |
| コード長 | 1820 Byte |
| 結果 | AC |
| 実行時間 | 508 ms |
| メモリ | 44116 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt |
| All | 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_srnd_00.txt, 01_srnd_01.txt, 01_srnd_02.txt, 01_srnd_03.txt, 01_srnd_04.txt, 02_rnd_00.txt, 02_rnd_01.txt, 02_rnd_02.txt, 02_rnd_03.txt, 02_rnd_04.txt, 03_one_00.txt, 04_rect_00.txt, 04_rect_01.txt, 04_rect_02.txt, 04_rect_03.txt, 04_rect_04.txt, 04_rect_05.txt, 04_rect_06.txt, 04_rect_07.txt, 04_rect_08.txt, 04_rect_09.txt, 04_rect_10.txt, 04_rect_11.txt, 04_rect_12.txt, 04_rect_13.txt, 04_rect_14.txt, 04_rect_15.txt, 05_max_00.txt, 05_max_01.txt, 05_max_02.txt, 06_hand_00.txt, 06_hand_01.txt, 06_hand_02.txt, 06_hand_03.txt, 06_hand_04.txt, 06_hand_05.txt, 06_hand_06.txt, 06_hand_07.txt, 06_hand_08.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 5 ms | 3608 KiB |
| 00_sample_01.txt | AC | 2 ms | 3620 KiB |
| 00_sample_02.txt | AC | 1 ms | 3592 KiB |
| 01_srnd_00.txt | AC | 2 ms | 3628 KiB |
| 01_srnd_01.txt | AC | 2 ms | 3700 KiB |
| 01_srnd_02.txt | AC | 2 ms | 3648 KiB |
| 01_srnd_03.txt | AC | 2 ms | 3588 KiB |
| 01_srnd_04.txt | AC | 2 ms | 3592 KiB |
| 02_rnd_00.txt | AC | 497 ms | 44116 KiB |
| 02_rnd_01.txt | AC | 494 ms | 44000 KiB |
| 02_rnd_02.txt | AC | 504 ms | 44000 KiB |
| 02_rnd_03.txt | AC | 508 ms | 44116 KiB |
| 02_rnd_04.txt | AC | 504 ms | 44108 KiB |
| 03_one_00.txt | AC | 2 ms | 3608 KiB |
| 04_rect_00.txt | AC | 236 ms | 27360 KiB |
| 04_rect_01.txt | AC | 228 ms | 23756 KiB |
| 04_rect_02.txt | AC | 188 ms | 16336 KiB |
| 04_rect_03.txt | AC | 183 ms | 15516 KiB |
| 04_rect_04.txt | AC | 174 ms | 14228 KiB |
| 04_rect_05.txt | AC | 177 ms | 13452 KiB |
| 04_rect_06.txt | AC | 112 ms | 7768 KiB |
| 04_rect_07.txt | AC | 113 ms | 7752 KiB |
| 04_rect_08.txt | AC | 227 ms | 27368 KiB |
| 04_rect_09.txt | AC | 216 ms | 23888 KiB |
| 04_rect_10.txt | AC | 178 ms | 16408 KiB |
| 04_rect_11.txt | AC | 177 ms | 15492 KiB |
| 04_rect_12.txt | AC | 167 ms | 14136 KiB |
| 04_rect_13.txt | AC | 159 ms | 13404 KiB |
| 04_rect_14.txt | AC | 105 ms | 7888 KiB |
| 04_rect_15.txt | AC | 98 ms | 7772 KiB |
| 05_max_00.txt | AC | 228 ms | 23852 KiB |
| 05_max_01.txt | AC | 246 ms | 27476 KiB |
| 05_max_02.txt | AC | 242 ms | 25388 KiB |
| 06_hand_00.txt | AC | 288 ms | 25392 KiB |
| 06_hand_01.txt | AC | 295 ms | 24712 KiB |
| 06_hand_02.txt | AC | 297 ms | 25372 KiB |
| 06_hand_03.txt | AC | 289 ms | 24664 KiB |
| 06_hand_04.txt | AC | 489 ms | 44024 KiB |
| 06_hand_05.txt | AC | 495 ms | 44072 KiB |
| 06_hand_06.txt | AC | 358 ms | 24752 KiB |
| 06_hand_07.txt | AC | 365 ms | 24780 KiB |
| 06_hand_08.txt | AC | 110 ms | 7828 KiB |