結果

問題 No.110 しましまピラミッド
ユーザー Sounds_Of_Rain
提出日時 2015-08-02 11:33:38
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 1,192 bytes
コンパイル時間 747 ms
コンパイル使用メモリ 85,820 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-07-18 00:46:21
合計ジャッジ時間 1,486 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 2
other AC * 7 WA * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _CRT_SECURE_NO_WARNINGS
#include <cstdio>
#include <cstring>
#include <cmath>
#include <vector>
#include <list>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
#include <iostream>
#include <sstream>
#include <functional>
using namespace std;
typedef long long int llint;
const int INF = 1000000;
const llint LINF = 100000000;
int dp[100000];//何番目
int black[10000] = { 0 }, bn, wn;
int white[10000] = { 0 };

int main() {
	int fl;
	cin >> wn;
	for (int i = 0; i < wn; i++) {
		cin >> white[i];
	}
	cin >> bn;
	for (int i = 0; i < bn; i++) {
		cin >> black[i];
	}
	int ans = 1;
	sort(black, black + bn,greater<int>());
	sort(white, white + wn,greater<int>());
	if (black[0] == white[0]) {
		if (white[wn - 1] > black[bn - 1])dp[0] = white[0];
		else {
			dp[0] = black[0];
		}
	}
	else { dp[0] = max(black[0], white[0]); }
	if (dp[0] == white[0])fl = 1;
	else { fl = 2; }
	for (int i = 1; i < bn*wn; i++) {
		if (fl = 1 && dp[i - 1]>white[i]&&white[i]!=0) { dp[i] = white[i]; ans++; fl = 2; }
		else if (fl = 2 && dp[i - 1]>black[i]&&black[i]!=0) { dp[i] = black[i]; ans++; fl = 1; }
	}
	
	cout << ans << endl;
	
	return 0;
}
0