This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
//#pragma GCC optimize("unroll-loops")
//#pragma GCC optimize("-O3")
//#pragma GCC optimize("Ofast")
//#pragma GCC optimize("fast-math")
//#pragma GCC optimize("no-stack-protector")
#define F first
#define S second
#define sz(x) ll(x.size())
#define pb push_back
#define N 75005
#define M ll(1e9 + 7)
using namespace std;
typedef long double ld;
typedef long long ll;
typedef short int si;
int main()
{
ios_base::sync_with_stdio(0); istream::sync_with_stdio(0); cin.tie(0); cout.tie(0);
ll k;
cin >> k;
if (k > 0)
{
k++;
cout << 2 + k << " " << k * 2 << endl;
for (ll i = 1; i <= k; i++) cout << 1 << " " << i + 1 << endl;
for (ll i = 1; i <= k; i++) cout << i + 1 << " " << 2 + k << endl;
}
else
{
for (ll i = 1; i <= 1000; i++)
for (ll j = 1; j <= 1000; j++)
{
if (i * j + j + i > 1000) continue;
ll m = i * j + j + i, n = i + j + 2;
ll kr = k + 1 - i - j;
if (i * j == -kr)
{
cout << n << " " << m << endl;
int id = 2;
for (int u = 1; u <= i; u++) cout << 1 << " " << id++ << endl;
vector <int> gr; gr.clear();
for (int b = 1; b <= j; b++)
{
for (int a = 1; a <= i; a++) cout << a + 1 << " " << id << endl;
gr.pb(id);
id++;
}
for (auto it : gr) cout << it << " " << id << endl;
exit(0);
}
}
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |