結果
問題 |
No.3068 Speedrun (Hard)
|
ユーザー |
![]() |
提出日時 | 2025-03-21 22:33:52 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,519 bytes |
コンパイル時間 | 3,839 ms |
コンパイル使用メモリ | 284,428 KB |
実行使用メモリ | 813,696 KB |
最終ジャッジ日時 | 2025-03-21 22:34:00 |
合計ジャッジ時間 | 7,909 ms |
ジャッジサーバーID (参考情報) |
judge7 / judge6 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 MLE * 1 |
other | -- * 32 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define ll long long #define INF 9e18; int main(){ cin.tie(0)->sync_with_stdio(0); cout.tie(0); ll A,B,C,D,N,P,Q,R,S,T; cin>>A>>B>>C>>D>>N>>P>>Q>>R>>S>>T; vector<ll>data1[20009]; vector<ll>data2[20009]; for(int i=0;i<=A;i++){ for(int j=0;j<=B;j++){ data1[i+j].push_back(i*P+j*Q); } } for(int i=0;i<=C;i++){ for(int j=0;j<=D;j++){ data2[i+j].push_back(i*R+j*S); } } for(int i=0;i<=A+B;i++){ sort(data1[i].begin(),data1[i].end()); } for(int i=0;i<=C+D;i++){ sort(data2[i].begin(),data2[i].end()); } ll AB=0,CD=0; for(int i=0;i<=N;i++){ for(ll j=0;j<data1[i].size();j++){ if(binary_search(data2[N-i].begin(),data2[N-i].end(),T-data1[i].at(j))==true){ AB=data1[i].at(j); CD=T-AB; } } } bool already=false; for(int i=0;i<=A;i++){ for(int j=0;j<=B;j++){ if(i*P+j*Q==AB){ cout<<i<<" "<<j<<" "; already=true; break; } } if(already==true) break; } already=false; for(int i=0;i<=C;i++){ for(int j=0;j<=D;j++){ if(i*R+j*S==CD){ cout<<i<<" "<<j<<" "; already=true; break; } } if(already==true) break; } }