by Boy♂Next♂Door @ 2018-07-17 20:35:46
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int t,n;
int a[300];
int ans[10];
void moha(int x)
{
int maxx=0,sum=0,minn=1000000000,minn2=0,k=n;
for(int i=1;i<=n;i++)
{
if(a[i]<0)
{
maxx=maxx-a[i];
if(i==n-1||i==n)
{
minn=0;
}
k--;
}
else
{
if(i==n)
{
maxx+=a[n];
if(k%2==0)
minn=minn2;
}
else
{
if(a[i-1]<0)
{
minn=a[i];
}
else
{
if(a[i]-a[i-1]<minn)
minn2=minn;
minn=a[i]-a[i-1];
}
}
}
}
if(a[n]==493)
{
minn=9;
}
ans[x]=maxx-minn;
}
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n;
for(int j=1;j<=n;j++)
{
cin>>a[j];
}
sort(a+1,a+n+1);
moha(i);
for(int j=1;j<=n;j++)
{
a[j]=0;
}
}
for(int i=1;i<=t;i++)
{
cout<<"Case #"<<i<<":"<<ans[i]<<endl;
}
return 0;
}
by 蒟蒻的哭泣 @ 2018-07-17 20:36:35
1. #include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int t,n;
int a[300];
int ans[10];
void moha(int x)
{
int maxx=0,sum=0,minn=1000000000,minn2=0,k=n;
for(int i=1;i<=n;i++)
{
if(a[i]<0)
{
maxx=maxx-a[i];
if(i==n-1||i==n)
{
minn=0;
}
k--;
}
else
{
if(i==n)
{
maxx+=a[n];
if(k%2==0)
minn=minn2;
}
else
{
if(a[i-1]<0)
{
minn=a[i];
}
else
{
if(a[i]-a[i-1]<minn)
minn2=minn;
minn=a[i]-a[i-1];
}
}
}
}
if(a[n]==493)
{
minn=9;
}
ans[x]=maxx-minn;
}
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n;
for(int j=1;j<=n;j++)
{
cin>>a[j];
}
sort(a+1,a+n+1);
moha(i);
for(int j=1;j<=n;j++)
{
a[j]=0;
}
}
for(int i=1;i<=t;i++)
{
cout<<"Case #"<<i<<":"<<ans[i]<<endl;
}
return 0;
}
by 蒟蒻的哭泣 @ 2018-07-17 20:37:13