Submission #3225084
Source Code Expand
// - YDK - {{{
#include <functional>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <cstdlib>
#include <sstream>
#include <numeric>
#include <string>
#include <cstdio>
#include <vector>
#include <tuple>
#include <cmath>
#include <queue>
#include <regex>
#include <set>
#include <map>
using namespace std;
#define eb emplace_back
#define emp emplace
#define fi first
#define se second
#define debug(...) fprintf(stderr, __VA_ARGS__ )
#define outl(x) out < (x) < '\n'
#define outl2(x,y) out < (x) < ' ' < (y) < '\n'
#define rep(i,n) for(int i=0; i<(int)(n); ++i)
#define ALL(x) x.begin(), x.end()
#define ODD(n) ((n)&1)
#define EVEN(n) (!ODD(n))
#define _NAMESPACE_YDK_ namespace ydk {
#define _END_NAMESPACE_ }
template<class A, class B>inline bool chmax(A &a, B b){return b>a ? a=b,1 : 0;}
template<class A, class B>inline bool chmin(A &a, B b){return b<a ? a=b,1 : 0;}
template<class T>using MinHeap = priority_queue< T, vector<T>, greater<T> >;
using ll = long long;
using pii = pair<int, int>;
inline bool inside(int x, int y, int W, int H) { return x>=0 && y>=0 && x<W && y<H; }
constexpr int INF = 0x3f3f3f3f;
constexpr long long LINF = 0x3f3f3f3f3f3f3f3fLL;
constexpr int dx[] = {1, 0, -1, 0};
constexpr int dy[] = {0, 1, 0, -1};
struct Point: public pii {
int &x = this->first, &y = this->second;
explicit Point(int x=0, int y=0): pii(x, y) {}
};
struct Writer
{
static constexpr size_t BUFF_SIZE = 1 << 18;
static char _buf[BUFF_SIZE];
explicit Writer() { setvbuf(stdout, _buf, _IOFBF, sizeof(_buf)); }
inline void ln() {putchar('\n');}
inline Writer& operator() (int n) {printf("%d", n); return *this;}
inline Writer& operator() (ll n) {printf("%lld", n); return *this;}
inline Writer& operator() (char c) {printf("%c", c); return *this;}
inline Writer& operator() (double d){printf("%lf", d); return *this;}
inline Writer& operator() (const char* s){printf("%s", s); return *this;}
inline Writer& operator() (const string &s){printf("%s", s.c_str()); return *this;}
inline Writer& operator() (bool f) {printf("%s", f?"true":"false"); return *this;}
inline Writer& operator() (void) {putchar('\n'); return *this;}
template<class InputIterator>
inline Writer& operator() (InputIterator first, InputIterator last, const char *space=" ")
{
for(; first != last; ++first) {
(*this)(*first);
printf("%s", (first+1 == last)? "\n" : space);
}
return *this;
}
};
char Writer::_buf[BUFF_SIZE];
template<class T> inline Writer& operator < (Writer &o, const T &v) { return o(v); }
struct Scanner
{
char tmp[65536];
inline Scanner& read(int &n) {scanf("%d", &n); return *this;}
inline Scanner& read(ll &n) {scanf("%lld", &n); return *this;}
inline Scanner& read(char &c) {scanf(" %c", &c); return *this;}
inline Scanner& read(double &d) {scanf("%lf", &d); return *this;}
inline Scanner& read(char *s) {scanf("%s", s); return *this;}
inline Scanner& read(string &s) {scanf("%s",tmp); s=string(tmp); return*this;}
};
template<class T> inline Scanner& operator > (Scanner &in, T &v) { return in.read(v); }
template<class T> inline Scanner& operator , (Scanner &in, T &v) { return in.read(v); }
Writer out;
Scanner in;
// }}}
_NAMESPACE_YDK_
constexpr int LIM = (int)1e7 + 2;
ll N;
ll a[LIM];
signed main(void)
{
in> N;
for (int i=1; i < LIM; ++i) {
a[i] = a[i-1] + i;
}
int p = lower_bound(a, a+LIM, N) - a;
int x = N;
for (int i=p; i >= 0; --i) {
if (x >= i) {
outl(i);
x-=i;
}
if (x <= 0) {
break;
}
}
return 0;
}
_END_NAMESPACE_
signed main(void) { return ydk::main(); }
//--------END--------
Submission Info
Submission Time
2018-09-19 17:57:31+0900
Task
B - Exactly N points
User
Arumakan1727
Language
C++14 (GCC 5.4.1)
Score
300
Code Size
4102 Byte
Status
AC
Exec Time
40 ms
Memory
78464 KB
Compile Error
./Main.cpp: In member function ‘Scanner& Scanner::read(ll&)’:
./Main.cpp:78:55: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
inline Scanner& read(ll &n) {scanf("%lld", &n); return *this;}
^
Judge Result
Set Name
sample
dataset1
dataset2
Score / Max Score
0 / 0
200 / 200
100 / 100
Status
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, sample-01.txt, sample-02.txt, sample-03.txt
Case Name
Status
Exec Time
Memory
01-01.txt
AC
39 ms
78336 KB
01-02.txt
AC
39 ms
78336 KB
01-03.txt
AC
39 ms
78336 KB
01-04.txt
AC
39 ms
78336 KB
01-05.txt
AC
39 ms
78336 KB
01-06.txt
AC
39 ms
78336 KB
01-07.txt
AC
39 ms
78336 KB
01-08.txt
AC
39 ms
78336 KB
01-09.txt
AC
39 ms
78336 KB
01-10.txt
AC
39 ms
78336 KB
02-01.txt
AC
39 ms
78464 KB
02-02.txt
AC
39 ms
78464 KB
02-03.txt
AC
39 ms
78464 KB
02-04.txt
AC
40 ms
78464 KB
02-05.txt
AC
39 ms
78464 KB
02-06.txt
AC
39 ms
78336 KB
02-07.txt
AC
39 ms
78336 KB
02-08.txt
AC
39 ms
78464 KB
sample-01.txt
AC
39 ms
78336 KB
sample-02.txt
AC
39 ms
78336 KB
sample-03.txt
AC
39 ms
78336 KB