結果
問題 |
No.555 世界史のレポート
|
ユーザー |
![]() |
提出日時 | 2017-08-14 00:44:31 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 1,136 bytes |
コンパイル時間 | 938 ms |
コンパイル使用メモリ | 105,440 KB |
実行使用メモリ | 200,328 KB |
最終ジャッジ日時 | 2024-10-13 09:24:03 |
合計ジャッジ時間 | 6,540 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 TLE * 1 |
ソースコード
#include "math.h" #include <algorithm> #include <complex> #include <cstdio> #include <iomanip> #include <iostream> #include <map> #include <queue> #include <set> #include <string> #include <vector> #define ifor(i, a, b) for (lli i = (a); i < (b); i++) #define rfor(i, a, b) for (lli i = (b)-1; i >= (a); i--) #define rep(i, n) for (lli i = 0; i < (n); i++) #define rrep(i, n) for (lli i = (n)-1; i >= 0; i--) using namespace std; typedef long double ld; using lli = long long int; int main() { lli n, c, v; cin >> n >> c >> v; using p = pair<lli, pair<lli, lli>>; priority_queue<p, vector<p>, greater<p>> que; que.push(make_pair(0, make_pair(1, 0))); while (true) { auto t = que.top(); que.pop(); auto C = t.first; auto len = t.second.first; if (len >= n) { cout << C << endl; return 0; } auto buf = t.second.second; //cout << C << " " << len << " " << buf << endl; if (buf < len) que.push(make_pair(C + c, make_pair(len, len))); que.push(make_pair(C + v, make_pair(len + buf, buf))); } }