結果
| 問題 |
No.33 アメーバがたくさん
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-06-15 01:36:41 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 681 bytes |
| コンパイル時間 | 1,741 ms |
| コンパイル使用メモリ | 173,428 KB |
| 実行使用メモリ | 6,944 KB |
| 最終ジャッジ日時 | 2024-09-24 10:10:06 |
| 合計ジャッジ時間 | 2,264 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll Xs[110];
map<ll, vector<pair<ll,ll>>> eventsMap;
int main(){
ll N, D, T;
cin >> N >> D >> T;
for(int i=0;i<N;i++)cin >> Xs[i];
sort(Xs, Xs + N);
for(int i=0;i<N;i++){
ll X = Xs[i];
ll mod = (X % D + D) % D;
ll base = (X - mod) / D;
eventsMap[mod].push_back(make_pair(base - T, base + T + 1));
}
ll res = 0;
for(auto ps : eventsMap) {
auto events = ps.second;
ll p = -1ll << 60;
for(auto ev : events) {
res += max(0ll, ev.second - max(p, ev.first));
p = max(p, ev.second);
}
}
cout << res << endl;
return 0;
}