結果

問題 No.568 じゃんじゃん 落とす 委員会
ユーザー ohreitetsu
提出日時 2017-11-18 12:58:16
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
TLE  
実行時間 -
コード長 949 bytes
コンパイル時間 528 ms
コンパイル使用メモリ 60,956 KB
実行使用メモリ 13,648 KB
最終ジャッジ日時 2024-11-25 11:30:13
合計ジャッジ時間 18,027 ms
ジャッジサーバーID
(参考情報)
judge3 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 18 TLE * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main(int, char**)’:
main.cpp:38:22: warning: overflow in conversion from ‘double’ to ‘int’ changes value from ‘1.0e+10’ to ‘2147483647’ [-Woverflow]
   38 |         int minN3Num=1e10;
      |                      ^~~~

ソースコード

diff #

#include <iostream>
#include <vector>
using namespace std;
int main(int argc, char* argv[])
{
	int N,M;
	cin>>N>>M;
	vector<int> x(N),a(N),b(N);
	vector<int> xTmp(N);	
	int i;
	int maxA=0;
	int maxB=0;
	int n2Num=0;
	int n3Num=0;
	for (i=0;i<N;i++){
		cin>>x[i]>>a[i]>>b[i];
		if (maxA<a[i]){
			maxA=a[i];
		}
		if (maxB<b[i]){
			maxB=b[i];
		}
		if (x[i]>=2){
			n2Num++;
		}
		if (x[i]>=3){
			n3Num++;
		}
	}
	if (n2Num>=M){
		cout<<n3Num<<endl;
		return 0;
	}
	n2Num=0;
	n3Num=0;
	int SA=0;
	int SB=0;
	int minN3Num=1e10;
	for (int sa=0;sa<=maxA+1;sa++){
		for (int sb=maxB+1;sb>=0;sb--){		
			n2Num=0;
			n3Num=0;
			for (i=0;i<N;i++){
				xTmp[i]=x[i];
				if (a[i]>=sa){
					xTmp[i]++;
				}
				if (b[i]>=sb){
					xTmp[i]++;
				}
				if (xTmp[i]>=2){
					n2Num++;
				}
				if (xTmp[i]>=3){
					n3Num++;
				}
			}
			if (n2Num>=M){
				if (minN3Num>n3Num){
					minN3Num=n3Num;
				}
			}
		}

	}

	cout<<minN3Num<<endl;
	return 0;
}
0