View Code of Problem 3699

#include<bits/stdc++.h>
using namespace std;
int main(){
	int L,n,k[2000],f[2000],i,j;//n个球,有0到L这些点 
	while(cin>>L>>n){
		k[2000]={0};
		f[2000]={0};
		int dam;//总伤害 
		int min=INT_MAX;
		int dian=0;//最佳点 
		for(i=0;i<n;i++){
			cin>>k[i];
		}
		for(i=0;i<n;i++){
			cin>>f[i];
		}
		for(i=0;i<=L;i++){//i为当前躲的点 
			dam=0;
			for(j=0;j<n;j++){
				int u;
				u=k[j]-i;
				if(u<0){
					u=-u;
				}
				int k=f[j]-u;
				if(k<=0){
					continue;
				}
				else{
					dam+=k;
				}
			}
			if(dam<min){
				min=dam;
				dian=i;
			}
			else if(dam==min){
				if(dian>i){
					dian=i;
				}
			}
		}
		cout<<dian<<endl;
		cout<<min<<endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 3699