結果

問題 No.5004 Room Assignment
ユーザー fky_
提出日時 2021-12-06 02:32:35
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 141 ms / 5,000 ms
コード長 1,135 bytes
コンパイル時間 1,520 ms
実行使用メモリ 22,392 KB
スコア 125,203,857
平均クエリ数 7627.56
最終ジャッジ日時 2021-12-06 02:32:55
合計ジャッジ時間 20,055 ms
ジャッジサーバーID
(参考情報)
judge15 / judge12
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

typedef long long ll;
typedef long double ld;
#define FOR(i, a, b) for (int i = a; i < (b); i++)
#define RFOR(i, a, b) for (int i = a; i >= (b); i--)
#define range(a) a.begin(), a.end()
#define Yes() cout << "Yes" << endl
#define No() cout << "No" << endl
#define MP make_pair
int dx[4] = {-1, 0, 1, 0};
int dy[4] = {0, -1, 0, 1};
using P = pair<int, int>;
const long long INF = 1LL<<60;
void chmin(long long &a, long long b) { if (a > b) a = b; }
void chmax(long long &a, long long b) { if (a < b) a = b; }

int main(void){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int T, R;
	cin >> T >> R;
	vector<queue<int>> que(20);
	int cnt = 1;
	FOR(t,0,T){
		int N;
		cin >> N;
		FOR(i,0,N){
			int s;
			cin >> s;
			if(s == 100)  s--;
			que[s / 5].push(cnt++);
		}
		int cnt = 0;
		FOR(i,0,20){
			cnt += ((int)que[i].size() / 4) * 3;
		}
		cout << cnt << endl;
		FOR(q,0,20){
			while((int)que[q].size() >= R){
				vector<int> a(4);
				FOR(i,0,4){
					a[i] = que[q].front();
					que[q].pop();
				}
				FOR(i,1,4){
					cout << a[0] << " " << a[i] << endl;
				}
			}
		}
	}


	return 0;
}

0