题解:P12641 [KOI 2024 Round 1] 上学
蒟蒻第一篇题解,不喜勿喷。
请勿直接复制题解
很简单的一道模拟题
正文开始
首先读入数据,数据很小,不用开long long, 接着循环判断,如果出发时间和路程时间小于等于x,那就可以乘坐,再开个数组和计数器,把可以乘坐的车辆的出发时间加进去。先对数组进行冒泡排序,最后判断,如果排序后数组的第一项是0,输出-1,否则输出第一项
AC Code
#include<bits/stdc++.h>
using namespace std;
int a[105],b[105],c[105];
int main()
{
int n,x,num=1;
bool flag=false;
cin>>n>>x;
for(int i=1;i<=n;i++)
{
cin>>a[i]>>b[i];
}
for(int i=1;i<=n;i++)
{
if(a[i]+b[i]<=x)
{
c[num]=a[i];
num++;
flag=true;
}
}
for(int i=1;i<=n-1;i++)
{
for(int j=1;j<=n-i;j++)
{
if(c[j]<c[j+1])
{
c[0]=c[j];
c[j]=c[j+1];
c[j+1]=c[0];
}
}
}
if(c[1]==0)
{
cout<<"-1";
}
else
{
cout<<c[1];
}
return 0;
}
有不足请指正