結果
| 問題 |
No.851 テストケース
|
| コンテスト | |
| ユーザー |
aya_se
|
| 提出日時 | 2019-07-26 21:53:51 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 3,153 ms |
| コード長 | 2,886 bytes |
| コンパイル時間 | 2,981 ms |
| コンパイル使用メモリ | 100,936 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-07-02 07:06:18 |
| 合計ジャッジ時間 | 3,080 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
#include <iostream>
#include <string>
#include <vector>
#include <set>
#include <stack>
#include <queue>
#include <map>
#include <algorithm>
#include <iomanip>
#include <math.h>
using namespace std;
using ll = long long;
using pll = pair<ll, ll>;
using vl = vector<ll>;
using vll = vector<vl>;
#define REP(i,n) for(int i=0; i<(int)(n); i++)
#define REPR(i,n) for(int i=n-1; i>=(int)(0); i--)
#define FOR(i,a,b) for(int i=(int)(a); i<(int)(b); i++)
#define FORR(i,a,b) for(int i=(int)(b)-1; i>=(int)(a); i--)
#define CHMIN(a,b) (a)=min((a),(b))
#define CHMAX(a,b) (a)=max((a),(b))
#define ALL(v) (v).begin(),(v).end()
//**関数リスト**//
int ctoi(char c) {
switch (c) {
case '0': return 0;
case '1': return 1;
case '2': return 2;
case '3': return 3;
case '4': return 4;
case '5': return 5;
case '6': return 6;
case '7': return 7;
case '8': return 8;
case '9': return 9;
default: return 0;
}
}
bool pairCompare(const pll firstElof, pll secondElof)
{
return firstElof.second < secondElof.second;
}
ll nod(ll F) {
ll keta = 1;
while (F / 10 > 0) {
keta++;
F /= 10;
}
return keta;
}
ll gcd(ll x, ll y) {
ll r;
if (x < y) {
swap(x, y);
}
while (y > 0) {
r = x % y;
x = y;
y = r;
}
return x;
}
ll lcm(ll x, ll y) {
return x * y / gcd(x, y);
}
ll isPrime(ll x) {
ll i;
if (x < 2) {
return 0;
}
else if (x == 2) {
return 1;
}
else if (x % 2 == 0) {
return 0;
}
else {
for (i = 3; i * i <= x; i += 2) {
if (x % 1 == 0) {
return 0;
}
}
return 1;
}
}
void eratos(vl isPrime) {
//(注)isPrimeのサイズはN+1にする!実際にはmain内に配置して使用
ll i, j;
REP(i, isPrime.size()) {
isPrime[i] = 1;
}
isPrime[0] = 0; isPrime[1] = 0;
for (i = 2; i * i <= isPrime.size() - 1; i++) {
if (isPrime[i] == 1) {
j = i * 2;
while (j <= isPrime.size() - 1) {
isPrime[j] = 0;
j = j + i;
}
}
}
}
ll modinv(ll a, ll m) {
ll b = m, u = 1, v = 0;
while (b) {
ll t = a / b;
a -= t * b; swap(a, b);
u -= t * v; swap(u, v);
}
u %= m;
if (u < 0) u += m;
return u;
}
void bitSearch(ll n) {
//実際にはコピーして中身を改変して使う
ll i;
REP(i, pow(2, n)) {
ll p = i;
REP(i, n) {
cout << p % 2;
p /= 2;
}
cout << endl;
}
}
void bfs(ll now) {
//中身は毎回書き換えて使用
queue<ll> Q;
Q.push(now);
ll u;
while (!Q.empty()) {
u = Q.front();
Q.pop();
//ll v=;
//Q.push(v);
}
}
//**定義場所**//
ll i, j, k, l, m, n;
ll N, M, K, H, W;
ll MOD = 1000000007;
ll ans = 1;
//***********//
int main() {
cin >> N;
vl A(N);
string S;
cin >> A[0];
getline(cin, S);
if (S.length() != 0) {
cout << "\"assert\"" << endl;
exit(0);
}
else {
cin >> A[1] >> A[2];
}
sort(A.begin(), A.end());
reverse(A.begin(), A.end());
if (A[0] + A[1] > A[0] + A[2]) {
cout << A[0] + A[2] << endl;
}
else {
cout << A[1] + A[2] << endl;
}
}
aya_se