#include<iostream> #include<string> #include<cmath> #include<algorithm> #include<map> #include<vector> #include<sstream> using namespace std; int main(){ int l,n; while(scanf("%d %d",&l,&n)!=EOF){ vector<int>k,f; for(int i=0;i<n;i++){//血球坐标 int temp; cin>>temp; k.push_back(temp); } for(int i=0;i<n;i++){//血球能量值 int temp; cin>>temp; f.push_back(temp); } int min=9999999,x=-1; for(int i=0;i<=l;i++){//计算每个坐标受到的伤害,从小开始 int temp=0; for(int j=0;j<n;j++){ int sh=f[j]-abs(k[j]-i);//f[i]-s if(sh<0) sh=0; temp+=sh; } if(temp<min){ min=temp; x=i; } //cout<<min<<endl; } cout<<x<<endl; cout<<min<<endl; } return 0; } |
Double click to view unformatted code.