这是最初91分代码,之后我把标记条件1改为-1,又82分。最后我把数组开大之后就ac了,我很好奇为什么会出现这种差异,是属于数组越界访问吗?
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n;
cin>>n;
long long t[n],clone[n],tip[n];
for(int i=0;i<n;i++)
{
cin>>t[i];
clone[i]=t[i];
}
sort(t,t+n);
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(clone[j]==t[i]&&tip[j]!=-1)
{printf("%d ",j+1);
tip[j]=-1;
break;
}
}
}
cout<<endl;
double sum=t[0],dp=t[0];
for(int i=2;i<n;i++)
{
sum+=t[i-1];
dp+=sum;
}
printf("%.2lf",dp/n);
}