結果
| 問題 |
No.851 テストケース
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-07-26 22:41:34 |
| 言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 3 ms / 3,153 ms |
| コード長 | 1,232 bytes |
| コンパイル時間 | 7,437 ms |
| コンパイル使用メモリ | 253,760 KB |
| 最終ジャッジ日時 | 2025-01-07 08:17:34 |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define INF 1000000000
#define MOD 1000000007
#define FOR(i, a, b) for(int i = (int)(a); i < (int)(b); i++)
#define REP(i, b) FOR(i, 0, b)
#define ALL(x) (x).begin(),(x).end()
typedef long long ll;
int main() {
char c;
string s;
ll p[3];
scanf("%*s%*[\n]");
for(int i = 0; i < 3;){
scanf("%c", &c);
if(c == ' ') {
cout << "\"assert\"" << endl;
return 0;
}
if(c == '\n') {
i++;
}
s += c;
}
sscanf(&s[0], "%d%d%d", p, p + 1, p + 2);
if(p[0] == p[1]) {
cout << ((p[0] * 2 < p[0] + p[2]) ? p[0] * 2 : p[0] + p[2]) << endl;
return 0;
} else {
ll a[3], q[3];
a[0] = p[0] + p[1];
a[1] = p[1] + p[2];
a[2] = p[2] + p[0];
q[0] = a[0] < a[1];
q[1] = a[1] < a[2];
q[2] = a[2] < a[0];
if(a[0] == a[1]) {
cout << ((a[0] < a[2]) ? a[0] : a[2]);
} else if(a[1] == a[2]) {
cout << ((a[1] < a[0]) ? a[1] : a[0]);
} else if(a[2] == a[0]) {
cout << ((a[2] < a[1]) ? a[2] : a[1]);
} else if(q[0] == q[2]) {
cout << a[0] << endl;
} else if(q[0] == q[1]) {
cout << a[1] << endl;
} else if(q[1] == q[2]) {
cout << a[2] << endl;
}
}
return 0;
}