WA两次后才发现问题,还是long long 的问题,还有要注意规律性,不然肯定TLE!
快乐地水题吧!!
#include<stdio.h>
#define INF 2000000000+10
long long a[100005];
long long a1[100005],a2[100005];
int main()
{
int n,k,i;
long long maxa=-INF,mina=INF;
scanf("%d%d",&n,&k);
for(i=1;i<=n;i++)
{
scanf("%lld",&a[i]);
maxa=maxa>a[i]?maxa:a[i];
mina=mina>a[i]?a[i]:mina;
}
for(i=1;i<=n;i++)
a1[i]=maxa-a[i];
maxa=maxa-mina;
for(i=1;i<=n;i++)
a2[i]=maxa-a1[i];
if(k==0)
for(i=1;i<=n;i++)
printf("%lld ",a[i]);
else if(k%2==1)
for(i=1;i<=n;i++)
printf("%lld ",a1[i]);
else
for(i=1;i<=n;i++)
printf("%lld ",a2[i]);
return 0;
}