結果
問題 |
No.33 アメーバがたくさん
|
ユーザー |
|
提出日時 | 2025-07-15 11:28:11 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 929 bytes |
コンパイル時間 | 3,385 ms |
コンパイル使用メモリ | 288,420 KB |
実行使用メモリ | 7,716 KB |
最終ジャッジ日時 | 2025-07-15 11:28:16 |
合計ジャッジ時間 | 4,281 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 9 WA * 2 |
ソースコード
#include <bits/stdc++.h> using namespace std; /////////////////// メイン /////////////////// int main () { //////////////////// 入力 //////////////////// int n, d, t; cin >> n >> d >> t; vector<int> a(n); for (int i=0; i<n; i++) { cin >> a.at(i); } //////////////// 出力変数定義 //////////////// long long result = 0; //////////////////// 処理 //////////////////// vector<tuple<int,int,int>> vec(n); for (int i=0; i<n; i++) { vec.at(i) = {a.at(i)%d,a.at(i)/d-t,a.at(i)/d+t}; } sort(vec.begin(),vec.end()); for (int i=0; i<n-1; i++) { if (get<0>(vec.at(i))==get<0>(vec.at(i+1))) get<2>(vec.at(i)) = min(get<2>(vec.at(i)),get<1>(vec.at(i+1))-1); } for (auto [r,left,right] : vec) { result += right-left+1; } //////////////////// 出力 //////////////////// cout << result << endl; //////////////////// 終了 //////////////////// return 0; }