#include<stdio.h> #include<math.h> /*判断0到l点的总伤害,取最小值*/ int xq[2000]; int f[10000]; int main(void) { int l,n;//2个正整数L,N while(scanf("%d%d",&l,&n)!=EOF) { for(int i=0;i<n;i++) { scanf("%d",&xq[i]);//N个整数,第i个数表示编号为i的血球落点坐标k[i] } for(int i=0;i<n;i++) { scanf("%d",&f[i]);//N个整数,第i个数表示编号为i的血球的能量值f[i] } long long min=999999999999,temp=0; for(int i=0;i<l;i++) { int route=0;//计算每个点的总伤害 for(int j=0;j<n;j++) { if(f[j]-abs(xq[j]-i)>0) { route+=f[j]-abs(xq[j]-i); } else { route+=0; } } if(route<min) { min=route,temp=i; } } printf("%d\n",temp); printf("%lld\n",min); } return 0; } |
Double click to view unformatted code.