提出 #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
結果
AC × 3
AC × 42
セット名 テストケース
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