不解
  • 板块P1223 排队接水
  • 楼主Man_go
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/9/24 17:54
  • 上次更新2023/10/27 10:07:31
查看原帖
不解
585504
Man_go楼主2022/9/24 17:54

这是最初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];//wa根源
	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);
}
2022/9/24 17:54
加载中...