思路:首先可以发现数据的范围是比较小的,所以我们可以采取暴力的方法,直接遍历直线上每个位置求出伤害并找到最小的值。
#include <bits/stdc++.h>
using namespace std;
int n,m;
struct node{
int index;
int x;
};
int main()
{
while(cin>>n>>m){
node no[n+10];
for(int i=0;i<m;i++){
cin>>no[i].index>>no[i].x;
}
long long min1 = 99999999999;
for(int i=0;i<=n;i++){
int cnt = 0;
for(int j=0;j<m;j++){
cnt+= abs(i-no[j].index)*no[j].x;
}
if(cnt<min1) min1 = cnt;
}
cout<<min1<<endl;
}
return 0;
}