在每个测试样例中,先输入一个m,之后一行输入m个数,a1,a2,am,ai为n=i的时候运行时间。
下一行m个数,b1,b2,bm,bi为n=i的时候暴力算法的运行时间。
题意为在bi<=3ai的限制下,求出n的最小值。
用一个结构体,里面有第i组的运行时间a,暴力运行时间b,时间限制t,t=3a,用该结构体创建一个数组。
输入之后判断第一个不满足b<=t的n再输出即可。
#include<iostream>
using namespace std;
const int M=60;
struct q{
int a;
int b;
int t;
}p[M];
int main()
{
int T;
cin>>T;
while(T--)
{
int m;
cin>>m;
for(int i=1;i<=m;i++)
{
cin>>p[i].a;
p[i].t=3*p[i].a;
}
for(int i=1;i<=m;i++)
{
cin>>p[i].b;
}
int i;
for(i=1;i<=m;i++)
{
if(p[i].b>p[i].t)
break;
}
if(i<=m)
cout<<i<<endl;
else
cout<<-1<<endl;
}
return 0;
}