#11245: [C++] 建表可以提升查詢速度


avengertree (否放)


當測資為3,0000時

f = 450015000

g = 4500450010000
所以須要使用到long long int

 

#include <iostream>
using namespace std;
 
const int maxSize=30001;
long long int fList[maxSize];
long long int gList[maxSize];
 
void makeList()
{
    fList[1]=1;
    gList[1]=1;
    for (int i=2;i<maxSize;i++)
    {
        fList[i]=i+fList[i-1];
        gList[i]=fList[i]+gList[i-1];
    }
}
 
int main()
{
    makeList();
 
    int n;
    while (cin >> n)
    {
        cout << fList[n] << " " << gList[n] << endl;
    }
return 0;
}