Submission #991730


Source Code Expand

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

#define FORE(i, a) for (auto i = a.begin(); i != a.end(); ++i)
#define REPU(i, a, b) for (int i = (a); i < (b); ++i)
#define REPD(i, a, b) for (int i = (a); i > (b); --i)
#define MEM(a, x) memset(a, x, sizeof(a))
#define ALL(a) a.begin(), a.end()
#define UNIQUE(a) a.erase(unique(ALL(a)), a.end())

vector<string> split(const string &s, char c) {
	vector<string> v;
	stringstream ss(s);
	string x;
	while (getline(ss, x, c)) v.push_back(x);
	return v;
}

#define DEBUG(args...) { vector<string> _v = split(#args, ','); err(_v.begin(), args); }

void err(vector<string>::iterator it) {}

template<typename T, typename... Args>
void err(vector<string>::iterator it, T a, Args... args) {
	cerr << "[DEBUG] " << it -> substr((*it)[0] == ' ', it -> length()) << " = " << a << '\n';
	err(++it, args...);
}

typedef long long ll;
const int MOD = 1000000007;

template<class T, class U> inline T tmin(T a, U b) { return (a < b) ? a : b; }
template<class T, class U> inline T tmax(T a, U b) { return (a > b) ? a : b; }
template<class T, class U> inline void amax(T &a, U b) { if (b > a) a = b; }
template<class T, class U> inline void amin(T &a, U b) { if (b < a) a = b; }
template<class T> T gcd(T a, T b) { while (b != 0) { T c = a; a = b; b = c % b; } return a; }

int main(int argc, char *argv[]) {
	ios_base::sync_with_stdio(false);

	int n; cin >> n;

	int lb = 0, rb = n;

	while (rb - lb > 1) {
		int mb = (rb + lb) >> 1;
		int tot = n, cur = mb;
		while (tot > 0 && cur > 0) {
			if (tot >= cur) tot -= cur, cur = tmin(cur - 1, tot);
			else cur--;
		}
		if (tot == 0) rb = mb;
		else lb = mb;
	}
	vector<int> ans;
	int tot = n, cur = rb;
	while (tot > 0 && cur > 0) {
		if (tot >= cur) {
			ans.push_back(cur);
			tot -= cur, cur = tmin(cur - 1, tot);
		}
		else cur--;
	}
	sort(ALL(ans));
	for (int v : ans) printf("%d\n", v);

	return 0;
}

Submission Info

Submission Time
Task B - Exactly N points
User rantd
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1958 Byte
Status AC
Exec Time 3 ms
Memory 384 KB

Judge Result

Set Name sample dataset1 dataset2
Score / Max Score 0 / 0 200 / 200 100 / 100
Status
AC × 3
AC × 13
AC × 21
Set Name Test Cases
sample sample-01.txt, sample-02.txt, sample-03.txt
dataset1 sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt
dataset2 sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 02-01.txt, 02-02.txt, 02-03.txt, 02-04.txt, 02-05.txt, 02-06.txt, 02-07.txt, 02-08.txt
Case Name Status Exec Time Memory
01-01.txt AC 3 ms 256 KB
01-02.txt AC 3 ms 256 KB
01-03.txt AC 3 ms 256 KB
01-04.txt AC 3 ms 256 KB
01-05.txt AC 3 ms 256 KB
01-06.txt AC 3 ms 256 KB
01-07.txt AC 3 ms 256 KB
01-08.txt AC 3 ms 256 KB
01-09.txt AC 3 ms 256 KB
01-10.txt AC 3 ms 256 KB
02-01.txt AC 3 ms 384 KB
02-02.txt AC 3 ms 384 KB
02-03.txt AC 3 ms 384 KB
02-04.txt AC 3 ms 384 KB
02-05.txt AC 3 ms 384 KB
02-06.txt AC 3 ms 256 KB
02-07.txt AC 3 ms 256 KB
02-08.txt AC 3 ms 384 KB
sample-01.txt AC 3 ms 384 KB
sample-02.txt AC 3 ms 256 KB
sample-03.txt AC 3 ms 256 KB