问题描述
输入格式
输入的第一行包含空格分隔的三个正整数 、 和 ,分别表示出行计划数目、查询个数以及等待核酸检测结果所需时间。
接下来输入 行,其中每行包含用空格分隔的两个正整数 、,表示一项出行计划;出行计划按时间顺序给出,满足 。
最后输入 行,每行仅包含一个正整数 ,表示一个查询。 个查询亦按照时间顺序给出,满足 。
输出格式
输出共 行,每行一个整数,表示对应查询的答案。
样例输入
#70分
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n,m,k;
n=in.nextInt();
m=in.nextInt();
k=in.nextInt();
int x,y;
int t[]=new int [n];
int t_s[]=new int [n];
for(int i=0;i<n;i++)
{
x=in.nextInt();
y=in.nextInt();
t[i]=fun(x,y);
t_s[i]=x;
}
int resout[]=new int[m];
for(int i=0;i<m;i++)
{
int count=0;
int tcheck=in.nextInt();
int tout=tcheck+k;
for(int j=0;j<n;j++)
{
if(tout>=t[j] && tout <= t_s[j])
{
count++;
}
}
resout[i]=count;
}
for(int i=0;i<m;i++)
{
System.out.println(resout[i]);
}
}
public static int fun(int x,int y)
{
int flag=x-y+1;
return flag;
}
}
#100分
package p530;
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n,m,k;
n=in.nextInt();
m=in.nextInt();
k=in.nextInt();
int x,y;
int t[]=new int [n];
int t_s[]=new int [n];
int tt[]=new int[1000000];
for(int i=0;i<n;i++)
{
x=in.nextInt();
y=in.nextInt();
int start=fun(x,y);
fuzi(tt,start,x);
}
int resout[]=new int[m];
for(int i=0;i<m;i++)
{
int count=0;
int tcheck=in.nextInt();
int tout=tcheck+k;
resout[i]=tt[tout];
}
for(int i=0;i<m;i++)
{
System.out.println(resout[i]);
}
}
public static int fun(int x,int y)
{
int flag=x-y+1;
if(flag<0)
{
flag=0;
}
return flag;
}
public static void fuzi(int tt[],int x,int y)
{
for(int i=x;i<=y;i++)
{
tt[i] =tt[i]+1;
}
}
}