求助站外题
  • 板块学术版
  • 楼主Killer_master
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/5/3 16:05
  • 上次更新2023/10/23 16:46:37
查看原帖
求助站外题
930361
Killer_master楼主2023/5/3 16:05

题目描述

最近赛车手Kaln加入了心心念念的Far车队,马上就迎来了自己的首秀,参加一场直线加速赛:已知Far车队会提供n种类型的赛车,Kaln只能选择其中一辆完成比赛,不能中途换车,第i辆车踩一次油门所产生的油耗为ai,能够行驶的距离为bi。现给出车队现在拥有的总油量p,以及车队提供的车的种数n,和赛道总距离m,请你设计一个小程序,帮助Kaln选择合适的赛车,如果有多辆,按输入顺序输出,若没有合适的车,输出-1。

注意:Kaln可以在剩余油量足够的情况下,无限次踩油门。

输入描述

第一行有三个整数,分别表示p,n,m。

后面n 行,每行两个整数,第(i+1) 行的整数表示第i辆车踩一次油门所产生的油耗为ai,能够行驶的距离为bi。

输出描述

输出仅一行,即可以完成比赛的车辆序号,车辆序号即为输入的第几辆车,如果有多个,按输入顺序输出,每两个序号之间使用空格隔开,若没有合适的车,输出-1

样例1

输入

100 3 5000 90 0 20 1000 110 10000

输出

2

样例2

输入

10 3 5000 20 1000 90 0 110 10000

输出

-1

提示

对于全部的测试点 1<=p,n,m<=30000,0<=ai,bi<=1*10^5。

我的代码

#include<iostream>
using namespace std;

int main()
{
    long long p,n,m,ai,bi,flag=0;
    cin>>p>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>ai>>bi;
        if(ai==0){cout<<i;continue;}
        if(bi*(p/ai)>=m){cout<<i<<' ';flag=1;}
    }
    if(flag==0)cout<<-1;
    return 0;
}

有两个测试点没过,ta还不给测试数据

2023/5/3 16:05
加载中...