C++ 需要少于一秒钟的执行时间

C++ 需要少于一秒钟的执行时间,c++,C++,这是一个相当简单的程序,但我需要使它更有效 我基本上对数组进行排序,在每次迭代中,我根据公式计算一个变量,然后得到这些变量的最小值 #include<iostream> using namespace std; int main() { int t, n; cin >> t; for(int i = 0; i < t; i++) { int v[100000]; cin >> n;

这是一个相当简单的程序,但我需要使它更有效 我基本上对数组进行排序,在每次迭代中,我根据公式计算一个变量,然后得到这些变量的最小值

#include<iostream>
using namespace std;

int main()
{
    int t, n;

    cin >> t;

    for(int i = 0; i < t; i++)
    {
        int v[100000];
        cin >> n;
        int s = 0;

        for(int i = 0; i < n; i++)
        {
            cin >> v[i];   
        }

        for(int i = 0; i < n; i++)
        {
            for(int j = i + 1; j < n; j++)
            {
                if(v[i] >= v[j])
                {
                    swap(v[i], v[j]);
                    int wand = (j - i + 1) * (j - 1 + 1) * (j - i + 1);
                    s+= wand;
                }
            }
        }
        cout << s << endl;
    }
}

#包括
使用名称空间std;
int main()
{
int t,n;
cin>>t;
for(int i=0;i>n;
int s=0;
对于(int i=0;i>v[i];
}
对于(int i=0;i=v[j])
{
互换(v[i],v[j]);
int-wand=(j-i+1)*(j-1+1)*(j-i+1);
s+=魔杖;
}
}
}

不能把int v[100000];从循环中去掉,应该会有很大帮助。仍然不够有效。你应该描述你想要精确计算的内容。所以,对于每次迭代,我比较v[i]和v[j]时,我都会根据公式(j-i+1)计算一个值乘以3。我需要计算这个值的最小值,而典型的n,t值看起来不可能通过编程进行进一步优化。