比赛 20181001 评测结果 WWWWWWWWWW
题目名称 珍珠分对 最终得分 0
用户昵称 观、一世沧桑如画 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2018-10-01 08:44:01
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<queue>
using namespace std;
const int MAXN=100010; 
int n,c,tot;
struct BEAD{
	int sum,col;
	bool friend operator <(BEAD a,BEAD b) {
		return a.sum<b.sum;
	}
}a[MAXN];
priority_queue<BEAD> q;
void init(){
	int i;
	scanf("%d%d",&n,&c);
	for(i=1;i<=c;++i) {
		scanf("%d",&a[i].sum);
		a[i].col=i;
		tot+=a[i].sum;
	}
	for(i=1;i<=c;++i) q.push(a[i]);
	for(i=1;i<=tot/2;++i) {
		BEAD e=q.top();q.pop();
		BEAD x=q.top();q.pop();
		printf("%d %d\n",e.col,x.col);
		e.sum--;
		x.sum--;
		if(e.sum)q.push(e);
		if(x.sum)q.push(x);
	}
}
int Main()
{
	freopen("ppairing.in","r",stdin);
	freopen("ppairing.out","w",stdout);
	init();	
}
int haha=Main();
int main(){;}