結果
| 問題 |
No.2126 MEX Game
|
| コンテスト | |
| ユーザー |
aoblue2547
|
| 提出日時 | 2024-01-18 21:52:42 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,309 bytes |
| コンパイル時間 | 4,956 ms |
| コンパイル使用メモリ | 308,456 KB |
| 実行使用メモリ | 7,396 KB |
| 最終ジャッジ日時 | 2024-09-28 03:18:34 |
| 合計ジャッジ時間 | 6,870 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 24 WA * 3 |
ソースコード
//テンプレート
//Visual Studio用
#define _CRT_SECURE_NO_WARNINGS
#include <bits/stdc++.h>
using namespace std;
template<class T> bool chmin(T& a, T b) { return a > b ? a = b, true : false; }
template<class T> bool chmax(T& a, T b) { return a < b ? a = b, true : false; }
template<class T>istream& operator>>(istream& is, vector<T>& v) { for (auto& e : v)is >> e; return is; }
template<class T>ostream& operator<<(ostream& os, vector<T>& v) { for (auto& e : v)os << e << " "; return os; }
using ll = long long;
using ull = unsigned long long;
using uint = unsigned int;
template<class T = ll> struct Edge {
int to;
T weight;
Edge(int t, T w) :to(t), weight(w) {}
bool operator==(Edge e) {
return this->to == e.to and this->weight == e.weight;
}
bool operator<(Edge e) {
if (this->to < e.to) {
return this->weight <= e.weight;
}
else return false;
}
};
template<class T = ll> class Graph {
using graph_ = vector<vector<Edge<T>>>;
graph_ g;
public:
Graph(int n) :g(n) {}
graph_::iterator begin() { return g.begin(); }
graph_::const_iterator begin() const { return g.begin(); }
graph_::iterator end() { return g.end(); }
graph_::const_iterator end() const { return g.end(); }
vector<Edge<T>>& operator [](int v) {
return g[v];
}
const graph_& data() { return g; }
void add(int u, int v, T w = 1) {
g[u].emplace_back(Edge<T>{ v, w });
}
void wadd(int u, int v, T w = 1) {
add(u, v, w);
add(v, u, w);
}
};
//Atcoder Library
/**/
#include <atcoder/all>
using namespace atcoder;
//using mint = modint998244353;
using mint = modint1000000007;
//using mint = dynamic_modint<0>;
//using mint = modint;
//mint::set_mod();
istream& operator>>(istream& is, mint& x) { ll r; cin >> r; x = r; return is; }
ostream& operator<<(ostream& os, mint& x) { cout << x.val(); return os; }
/**/
#define SHOW(n) cerr << #n << " = " << n << endl;
/*
ここまでテンプレート
*/
int main() {
int n;
cin >> n;
vector<int> a(1000001);
for (int i = 0; i < n; ++i) {
int x;
cin >> x;
a[x]++;
}
for (int i = 100000; i >= 0; --i) {
if (a[i] > 0) {
--a[i];
break;
}
}
for (int i = 0; i <= 100000; ++i) {
if (a[i] <= 1) {
a[i]++;
break;
}
}
for (int i = 0; i <= 100000; ++i) {
if (a[i] <= 1) {
cout << i << endl;
break;
}
}
return 0;
}
aoblue2547