結果
問題 |
No.2408 Lakes and Fish
|
ユーザー |
|
提出日時 | 2023-08-11 23:29:09 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 849 bytes |
コンパイル時間 | 622 ms |
コンパイル使用メモリ | 71,568 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-18 18:58:34 |
合計ジャッジ時間 | 4,051 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 1 WA * 18 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> int absz( const int x ) { return x > 0 ? x : -x; } int main( void ) { int N = 1, M = 1; std::cin >> N >> M; std::vector<int> L( N ); for (int i = 0;i < N;i++) { std::cin >> L[i]; } int F = 0, B = 0, W = 0; int sum = 0; for (int i = 0; i < M; i++) { std::cin >> F >> B >> W; auto u = std::upper_bound( L.begin(), L.end(), F ); auto u2 = u; if (u2 != L.begin()) --u2; int d1 = absz( *u - F ); int d2 = absz( *u2 - F ); int nearest = d1 > d2 ? d2 : d1; if (nearest < 1) { sum += W; } else if (nearest < W - B) { sum += W - nearest; } else { sum += B; } } std::cout << sum; return 0; }