結果

問題 No.5004 Room Assignment
ユーザー ransewhaleransewhale
提出日時 2021-12-01 09:44:31
言語 C++17(gcc12)
(gcc 12.3.0 + boost 1.87.0)
結果
AC  
実行時間 145 ms / 5,000 ms
コード長 1,027 bytes
コンパイル時間 873 ms
実行使用メモリ 22,380 KB
スコア 7,304,446
平均クエリ数 6275.71
最終ジャッジ日時 2021-12-01 09:44:53
合計ジャッジ時間 20,714 ms
ジャッジサーバーID
(参考情報)
judge11 / judge16
純コード判定しない問題か言語
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 100
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <stdio.h>
#include <iostream>
#include <vector>
#include <queue>
#include <stack>
#include <algorithm>

using ll = long long int;
using P = std::pair<int, int>;
using E = std::pair<P, int>;
const int INF = (1<<30);
const ll INFLL = (1ll<<60);
const ll MOD = 998244353ll;

#define l_ength size

void mul_mod(ll& a, ll b){
	a *= b;
	a %= MOD;
}

void add_mod(ll& a, ll b){
	a = (a<MOD)?a:(a-MOD);
	b = (b<MOD)?b:(b-MOD);
	a += b;
	a = (a<MOD)?a:(a-MOD);
}

std::vector<P> v,ans;

int main(void){
	int t,r,m=0,i,n,s,j,p;
	std::cin >> t >> r;
	for(i=0; i<t; ++i){
		std::cin >> n;
		for(j=0; j<n; ++j){
			std::cin >> s; ++m;
			v.push_back(P(s,m));
		}
		std::sort(v.begin(),v.end());
		p = 1;
		for(j=1; j<v.l_ength(); ++j){
			if(p == r){
				p = 1;
				continue;
			}
			++p;
			ans.push_back(P(v[j-1].second,v[j].second));
		}
		std::cout << ans.l_ength() << std::endl;
		for(j=0; j<ans.l_ength(); ++j){
			std::cout << ans[j].first << " " << ans[j].second << std::endl;
		}
		v.clear(); ans.clear();
	}
	return 0;
}
0