题解:P12686 [KOI 2022 Round 1] 面包
蒟蒻的第三篇题解
请勿直接抄袭题解
正文开始
题目关键在这几行:
现在有
N 家店,每家店从当前位置出发所需的时间,以及KOI 面包到达该店还剩下的时间都会给出。如果能在面包到达该店的瞬间或更早到达店铺,就能买到KOI 面包;如果在面包到达之后才到达店铺,那就已经太晚了,面包已经售罄。
首先读入顾客到面包店的时间和面包到店剩下的时间并判断,如果顾客到面包店的时间小于等于面包到店剩下的时间,就可以买到
但是要注意,题目有一个坑:
对于每家店,设从当前位置到该店所需时间为
A ,面包到达该店还需的时间为B ,则满足:0≤A≤1000 0≤B≤1000
所以统计可以买到
AC Code
#include<bits/stdc++.h>
using namespace std;
int a[105],b[105],c[105]; //定义数组
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) //初始化可以买到KOI面包所需时间的数组
{
c[i]=-1;
}
int num=0;//计数
for(int i=1;i<=n;i++) //读入数据
{
cin>>a[i]>>b[i];
}
for(int i=1;i<=n;i++) //判断
{
if(a[i]<=b[i])
{
c[++num]=b[i];
}
}
sort(c,c+num+1); //排序
if(c[1]!=-1) //判断能不能买到面包
{
cout<<c[1]; //如果可以输出最少时间
}
else
{
cout<<"-1"; //如果不能输出-1
}
return 0;
}
如果还有不明白的地方可以私信问我