zcmu——2014: 一生之敵(思維題)

ZMST發表於2018-11-22

題目連結:

【分析】

首先先找到一個範圍

然後再找出表示式

lower_bound()小於等於就好了

up_bound()小於就好

#include<cstdio>
#include<iostream>
#include<cmath>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define ull unsigned long long
#define maxn 1800000
ull a[maxn];
void init()
{
    for(ull i=0;i<maxn;i++)
    {
        a[i]=4*i*i*i+2*i;
    }
}
int main()
{
    int t;
    scanf("%d",&t);
    init();
    while (t--)
    {
        ull n;
        scanf("%llu",&n);
        ull k=lower_bound(a, a+maxn, n)-a;
        printf("%llu\n",a[k]);
    }
    return 0;
}




 

相關文章