70分,#6,#8,#10WA,求调
查看原帖
70分,#6,#8,#10WA,求调
1120811
Elysia0927楼主2024/4/22 17:15
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
	long long int n,tempn = 0,u_i,temp1,result = 0,gap,temp2,temp3;
	cin >> u_i;
	for (int i = 0; i < u_i; i++)
	{
		cin >> n;
		if (tempn != 0)
		{
			temp2 = (int)cbrt(n);//
			if (temp2 == temp1)
			{
				result += (n - tempn) * temp1;
			}
			else
			{
				temp3 = temp1 + 1;
				result += (pow(temp3, 3) - tempn - 1) * temp1;
				temp1 = temp2;
				for (int i = temp3; i < temp2; i++)
				{
					result += i * (pow(i + 1, 3) - pow(i, 3));
				}
				gap = n - pow(temp1, 3) + 1;
				result += gap * temp1;
			}
			tempn = n;
		}
		else
		{
			tempn = n;
			temp1 = (int)cbrt(n);
			gap = n - pow(temp1, 3)+1;
			for (int i = 1; i < temp1; i++)
			{
				result += i * (pow(i + 1, 3) - pow(i, 3));
			}
			result += gap * temp1;
		}
		cout << result << endl;
	  }
}
2024/4/22 17:15
加载中...