题意:你的军队和敌人打仗,你和敌人都有n个人,每个人都有一个力量值,你的人训练一天可以增加一点力量,打仗是这样的:按顺序从1到n,a[i]打b[i],只要a[i]>b[i],你就赢了,a[i]<b[i],你就输了,相等就看下一个,全部相等也算你赢,问你最少要训练几天才可以打败对方
思路;就枚举训练天数就好了,反正n,w都小于1000,枚举就能水过去
#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;
int a[1500],b[1500];
int main()
{
int n;
scanf("%d",&n);
for(int i=1; i<=n; i++)
{
scanf("%d",&a[i]);
}
for(int i=1; i<=n; i++)
{
scanf("%d",&b[i]);
}
int day=b[1]-a[1];
if(day<0)
{
printf("0\n");
return 0;
}
day=0;
while(1)
{
int flag=0,i;
for(i=1; i<=n; i++)
{
if(a[i]+day>b[i])
{
flag=1;
break;
}
else if(a[i]+day<b[i])
{
flag=2;
break;
}
}
if(flag==2) day++;
else
{
break;
}
}
printf("%d\n",day);
}