Source Code
#include<bits/stdc++.h>
#include <cmath>
#include <complex>
using namespace std;
#define ll long long
#define fast ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)
#define dcm(a) setprecision(a)<<fixed
ll const md= 1000000007;
#define clr(memo, a) memset(memo,a,sizeof(memo))
#define PI acos(-1)
typedef complex<double> point;
double  EPS=1e-9;
int dcmp(double x, double y) {	return fabs(x-y) <= EPS ? 0 : x < y ? -1 : 1;	}
#define X real()
#define Y imag()
#define angle(a)                (atan2((a).imag(), (a).real()))
#define vec(a,b)                ((b)-(a))
#define same(p1,p2)             (dp(vec(p1,p2),vec(p1,p2)) < EPS)
#define dp(a,b)                 ( (conj(a)*(b)).real() )	// a*b cos(T), if zero -> prep
#define cp(a,b)                 ( (conj(a)*(b)).imag() )	// a*b sin(T), if zero -> parllel
#define length(a)               (hypot((a).imag(), (a).real()))
#define normalize(a)            (a)/length(a)
#define rotateO(p,ang)          ((p)*exp(point(0,ang)))
#define rotateA(p,ang,about)  (rotateO(vec(about,p),ang)+about)
#define reflectO(v,m)  (conj((v)/(m))*(m))

void solve(){
ll n;
cin>>n;
vector<ll> ans;
for(ll i=1;;i++){
if(n-i<=i){
    ans.push_back(n);
    break;
}
ans.push_back(i);
n-=i;
}
cout<<ans.size()<<endl;
for(ll x:ans)
    cout<<x<<" ";
cout<<endl;
}












int main(){

fast;

int t=1;
//cin>>t;
while(t--)
    solve();
return 0;
}
Copy
Want More! Go8
GNU G++17
82 ms
22.3 MB
Accepted