乐死我了,一道需要用平衡树的算法的题,在我忘了看标签的情况下下意识用了一个普及-难度的超简单思路解决了。当然其中加入了一些半骗分半贪心性质的剪枝。
总之这破算法竟然AC了就离谱,乐死我了
Code
#include <iostream>
#include <cmath>
using namespace std;
int b[2000005];
int n,x,ans;
int main()
{
cin>>n;
cin>>x;
ans+=x;
x+=1000000;
b[x]=1;
for(int i=1;i<n;i++)
{
cin>>x;
x+=1000000;
int tans=99999999;
for(int j=x;j>=max(x-10000,0);j--)
{
if(b[j]==1)
{
tans=x-j;
break;
}
}
for(int j=x+1;j<=min(x+10000,2000000);j++)
{
if(b[j]==1)
{
tans=min(tans,j-x);
break;
}
}
if(tans==99999999)
{
for(int j=x;j>=0;j--)
{
if(b[j]==1)
{
tans=x-j;
break;
}
}
for(int j=x+1;j<=2000000;j++)
{
if(b[j]==1)
{
tans=min(tans,j-x);
break;
}
}
}
ans+=tans;
b[x]=1;
}
cout<<ans<<endl;
return 0;
}
标签:乐死,int,P2234,1000000,ans,include,tans
From: https://www.cnblogs.com/gongkai/p/17787123.html