結果
| 問題 | No.176 2種類の切手 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2016-08-15 10:41:37 |
| 言語 | C++11(廃止可能性あり) (gcc 15.2.0 + boost 1.89.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,590 bytes |
| 記録 | |
| コンパイル時間 | 635 ms |
| コンパイル使用メモリ | 64,200 KB |
| 実行使用メモリ | 818,000 KB |
| 最終ジャッジ日時 | 2024-11-07 17:38:39 |
| 合計ジャッジ時間 | 4,387 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 3 |
| other | WA * 1 MLE * 1 -- * 27 |
ソースコード
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int a,b,t;
cin>>a>>b>>t;
if(a>t && b>t){
cout<<min(a,b)<<endl;
return 0;
} else if(a<=t && b<=t){
int c,d;
c=t/a+1;
d=t/b+1;
vector<int> va,vb;
for(int i=1; i<=c; ++i){
int e;
e=(a*i)%t;
va.push_back(e);
}
for(int i=1; i<=d; ++i){
int f;
f=(b*i)%t;
vb.push_back(f);
}
int m,pa,pb;
if(va[va.size()-1]<=vb[vb.size()-1]){
m=va[va.size()-1];
pa=va.size()-1;
pb=vb.size();
} else {
m=vb[vb.size()-1];
pa=va.size();
pb=vb.size()-1;
}
for(int i=0; i<va.size()-1; ++i){
for(int j=0; j<vb.size()-1; ++j){
int g;
g=va[i]+vb[j];
if(g>=t){
g-=t;
if(g<m){
m=g;
pa=i;
pb=j;
}
}
}
}
int x;
va.push_back(0);
vb.push_back(0);
x=va[pa]+vb[pb];
cout<<x<<endl;
return 0;
} else if(a>t || b>t){
int c,d,h;
if(a>t){
h=b;
c=t/b+1;
d=a;
} else if(b>t){
h=a;
c=t/a+1;
d=b;
}
vector<int> va;
for(int i=1; i<=c; ++i){
int e;
e=(h*i)%t;
va.push_back(e);
}
int m,pa;
if(va[va.size()-1]<=d-t){
m=va[va.size()-1];
pa=va.size()-1;
} else {
m=d-t;
pa=va.size();
}
int y;
y=0;
for(int i=0; i<va.size()-1; ++i){
int g;
g=va[i]+d-t;
if(g>=t){
g-=t;
if(g<m){
m=g;
pa=i;
y=d-t;
}
}
}
int x;
va.push_back(0);
if(y==0){
x=va[pa]+t;
} else {
x=va[pa]+y;
}
cout<<x<<endl;
return 0;
}
}