結果
| 問題 |
No.200 カードファイト!
|
| コンテスト | |
| ユーザー |
古寺いろは
|
| 提出日時 | 2015-04-29 00:20:20 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 917 bytes |
| コンパイル時間 | 1,484 ms |
| コンパイル使用メモリ | 164,200 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-15 08:59:00 |
| 合計ジャッジ時間 | 2,310 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 26 |
ソースコード
#include "bits/stdc++.h"
using namespace std;
int main() {
int N;
cin >> N;
int A;
cin >> A;
vector<int> B(A);
for (int i = 0; i < A; i++)
{
cin >> B[i];
}
int C;
cin >> C;
vector<int> D(C);
for (int i = 0; i < C; i++)
{
cin >> D[i];
}
vector<int> ta(B);
vector<int> tb(D);
int ans = 0;
for (int i = 0; i < N; i++)
{
if (ta.size() == 0) ta = B;
if (tb.size() == 0) tb = D;
sort(ta.begin(), ta.end());
sort(tb.begin(), tb.end());
int usea = -1;
int useb = -1;
for (int j = 0; j < ta.size(); j++)
{
for (int k = tb.size() - 1; k >= 0; k--)
{
if (ta[j] > tb[k]){
usea = j;
useb = k;
break;
}
}
if (usea != -1) break;
}
if (usea != -1){
ans++;
}
else{
usea = 0;
useb = tb.size() - 1;
}
swap(ta[usea], ta[ta.size() - 1]);
swap(tb[useb], tb[tb.size() - 1]);
ta.pop_back();
tb.pop_back();
}
cout << ans << endl;
}
古寺いろは