Submission #10347535
Source Code Expand
/* 実行時間1s制限の場合
10^6 1,000,000 : 余裕をもって間に合う
10^7 10,000,000 : おそらく間に合う
10^8 100,000,000 : 非常にシンプルな処理でないと厳しい
*/
#define rep(i, n) for(int i = 0; i < (int)n; i++)
#define repi(i,a,b) for(int i=int(a);i<int(b);++i)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll; // long longはデータモデル(LLP64, LP64, ...)によらず64bit.
ll gcd(ll a, ll b) {return b ? gcd(b, a%b) : a;} // Greatest Common Divisor ユークリッドの互除法(aが長辺)
vector<pair<ll,int>> factorize(ll n) { // a,bの公約数 = GCD(a, b)の約数
vector<pair<ll,int>> res;
for (ll i = 2; i*i <= n; i++) { // √nまで探せばよい
if (n%i) continue;
res.emplace_back(i, 0); // 割り切れたら
while (n%i == 0) {
n /= i;
res.back().second++;
}
}
if (n != 1) res.emplace_back(n, 1); // この時点で1でなかったら、残りは素数.
return res;
}
ll lcm(ll a, ll b) {return a/gcd(a,b)*b;} // Least Commont Multiple オーバーフローしないように先に割る
ll ceil(ll a, ll b) {return (a+b-1)/b;}
const ll INF = LONG_MAX;
template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }
int main(int argc, char* argv[])
{
#ifdef LOCAL
// 以降 cin の入力元が 'xxx.txt' になる
// std::ifstream in(argv[1]);
//std::cin.rdbuf(in.rdbuf());
//std::ifstream in(string(argv[0]) + ".txt");
std::ifstream in("in.txt");
std::cin.rdbuf(in.rdbuf());
#endif
int a, b, c;
cin >> a >> b >>c;
if (a == b) {cout << c; return 0;}
if (a == c) {cout << b; return 0;}
if (c == b) {cout << a; return 0;}
return 0;
}
/*
- 1e9 : 10^9
- container一般
- 合計
accumulate(a.begin(), a.end(), 0LL) 0LLはオーバーフロー用
- vector
vector<int> A(N, 0); // 0で初期化(省略可)
- loop
for (int i = 0; i < A.size(); i++) {}
for (int elem : A) {}
- sort
std::sort(v.begin(), v.end()); // 昇順
std::sort(v.begin(), v.end(), std::greater<int>()); //降順
- vector<vector<int>> cnt(h, vector<int>(w))
- sort(struct)
struct st_t {
string name;
int p;
bool operator<(const st_t& another) const {
if (name == another.name)
{
return p > another.p;
}
return name < another.name;
}
};
vector<st_t> st(n);
sort(st.begin(), st.end());
- pair
- pairのソートの定義 : firstが優先的に比較。同じだったらsecond。
- pair<pair<string,int>,int> p[110];
std::sort(p,p+a);
こうすると、first.first -> first.second -> secondの順にソートされる
- sort
- sort(a.begin(), cb.end(), greater<pair<int, int>>());
- map
- for (auto x : map) {} // x.first:key x.second:value.
- priority_queue<int> q;
- q.top()に最大値が入っている
- string
- loop
for (char& c : s) {}
*/
Submission Info
Submission Time |
|
Task |
A - One out of Three |
User |
azuki_bar |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
3367 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
Set Name |
Test Cases |
Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
All |
sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_1.txt, subtask_1_2.txt, subtask_1_3.txt, subtask_1_4.txt, subtask_1_5.txt, subtask_1_6.txt, subtask_1_7.txt |
Case Name |
Status |
Exec Time |
Memory |
sample_01.txt |
AC |
1 ms |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |
subtask_1_1.txt |
AC |
1 ms |
256 KB |
subtask_1_2.txt |
AC |
1 ms |
256 KB |
subtask_1_3.txt |
AC |
1 ms |
256 KB |
subtask_1_4.txt |
AC |
1 ms |
256 KB |
subtask_1_5.txt |
AC |
1 ms |
256 KB |
subtask_1_6.txt |
AC |
1 ms |
256 KB |
subtask_1_7.txt |
AC |
1 ms |
256 KB |