问题:
一条路有n个公交车站,第一个站点的下标是0。这条路上有一辆公交车,有m个座位,意思是在起始站可以卖出m个车票。
此时,有p张车票被卖出去了,对于每张车票P[i],从s[i]开始到d[i]站点。
请问从a站点到b站点,最多剩余多少张票可以用?
输入:
第一行输入n m p (n个站点,m张票,卖出p张)
第二部分输入卖出的p张车票的站点
p1 d1
p2 d2
p3 d3
最后一行输入我们要乘坐的a到b站点。
思考:
第一种情况
//输入
5 10 3
0 3
1 2
3 4
1 3
//输出 8
5个站点 10张票,卖出3个分别是
03 12 34
要从1到3
03 12 和13有交集,所以占用了2个,剩余8个
第一种情况:
5个站点的情况下。卖出4个,01 12 23 34
但是只会占用1个座位。
答案:
mport java.util.Scanner;
public class Main {
public static void main( String[] args ) {
Scanner input = new Scanner( System.in );
int N = input.nextInt();
int M = input.nextInt();
int P = input.nextInt();
int[] people = new int[N];
for( int i = 0; i < P; ++ i ) {
int s = input.nextInt();
int d = input.nextInt();
for( int j = s; j < d; ++ j )
people[j] ++;
}
int start = input.nextInt();
int end = input.nextInt();
int max = Integer.MIN_VALUE;
for( int i = start; i < end; ++ i )
if( max < people[i] )
max = people[i];
System.out.print( M - max );
input.close();
}
}