由于平方和有公式,等差数列有公式,根据规律推得:

#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    int n;
    cin>>n;
    int a=1;
    while(a*(a+1)/2<=n)
        a++;
    a--;
    cout<<a*(a+1)*(2*a+1)/6+(n-(a+1)*a/2)*(a+1)<<endl;
    return 0;
}