結果
| 問題 |
No.2408 Lakes and Fish
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-08-11 21:30:47 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,389 bytes |
| コンパイル時間 | 2,126 ms |
| コンパイル使用メモリ | 195,924 KB |
| 最終ジャッジ日時 | 2025-02-16 01:04:12 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 2 WA * 17 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> Pll;
typedef pair<ld, ld> Pdd;
template<typename T>
using MaxHeap = priority_queue<T>;
template<typename T>
using MinHeap = priority_queue<T, vector<T>, greater<T>>;
#define REP(i, n) for(int i = 0; i < n; i++)
#define REPR(i, n) for(int i = n; i >= 0; i--)
#define FOR(i, m, n) for(int i = m; i < n; i++)
#define FORR(i, m, n) for(int i = m; i >= n; i--)
#define INF (ll)1e17
#define ALL(v) v.begin(), v.end()
#define SZ(x) ((ll)(x).size())
#define bit(n) (1LL<<(n))
#define UNIQUE(v) v.erase( unique(v.begin(), v.end()), v.end() );
#define cauto const auto&
#define cdebug if (debug_mode) cerr
#define dump(x) if (debug_mode) cerr << #x << " = " << (x) << "\t";
#define SP << " " <<
#define TB << "\t" <<
#ifdef _LOCAL
bool debug_mode = true;
#else
bool debug_mode = false;
#endif
int main()
{
ll N, M;
cin >> N >> M;
vector<ll> L(N);
REP(i, N) cin >> L[i];
ll ans = 0;
REP(i, M) {
ll pos, b, w;
cin >> pos >> b >> w;
ll s = b;
auto itr = lower_bound(ALL(L), pos);
if (itr != L.end()) {
s = max(s, w - abs(*itr - pos));
} else if (itr != L.begin()) {
s = max(s, w - abs(*prev(itr) - pos));
}
ans += s;
}
cout << ans << endl;
return 0;
}