Submission #6061952


Source Code Expand

Copy
#include <iostream>
#include <string>
#include <stdlib.h>
#include <algorithm>
#include <utility>
#include <vector>
#define llint long long

using namespace std;
typedef pair<llint, llint> P;

llint n, k;
vector<P> ans;

int main(void)
{
	cin >> n >> k;
	if(k > (n-1)*(n-2)/2){
		cout << -1 << endl;
		return 0;
	}
	
	for(int i = 1; i <= n-1; i++){
		ans.push_back(make_pair(i, n));
	}
	llint rem = (n-1)*(n-2)/2 - k;
	for(int i = 1; i <= n-1; i++){
		for(int j = 1; j <= n-1; j++){
			if(i >= j) continue;
			if(rem > 0){
				ans.push_back(make_pair(i, j));
				rem--;
			}
		}
	}
	cout << ans.size() << endl;
	for(int i = 0; i < ans.size(); i++) cout << ans[i].first << " " << ans[i].second << endl;
	
	return 0;
	
}

Submission Info

Submission Time
Task E - Friendships
User leaf1415
Language C++14 (GCC 5.4.1)
Score 500
Code Size 758 Byte
Status AC
Exec Time 9 ms
Memory 512 KB

Judge Result

Set Name All Sample
Score / Max Score 500 / 500 0 / 0
Status
AC × 18
AC × 2
Set Name Test Cases
All sample_01, sample_02, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16
Sample sample_01, sample_02
Case Name Status Exec Time Memory
sample_01 AC 1 ms 256 KB
sample_02 AC 1 ms 256 KB
testcase_01 AC 1 ms 256 KB
testcase_02 AC 1 ms 256 KB
testcase_03 AC 1 ms 256 KB
testcase_04 AC 9 ms 512 KB
testcase_05 AC 1 ms 256 KB
testcase_06 AC 1 ms 256 KB
testcase_07 AC 1 ms 256 KB
testcase_08 AC 1 ms 256 KB
testcase_09 AC 1 ms 256 KB
testcase_10 AC 2 ms 256 KB
testcase_11 AC 1 ms 256 KB
testcase_12 AC 1 ms 256 KB
testcase_13 AC 1 ms 256 KB
testcase_14 AC 1 ms 256 KB
testcase_15 AC 9 ms 512 KB
testcase_16 AC 1 ms 256 KB