买菜
当两人同时装车时才能聊天,那么思路就是记录下两人装车的时间段,当两人都在装车的时候聊天时间增加,代码如下。
#include<bits/stdc++.h>
using namespace std;
int h[1000001] = {0};//分别定义h,w数组用于记录装车的时间
int w[1000001] = {0};
int main(){
int n;
cin>>n;
int k = n;
int lasth,lastw,sum = 0;
for(int j =0; j < n; j++){
int a,b;
cin>>a>>b;
for(int i = a; i < b;i++){
h[i] = 1; //h装车的时间设为1
}
if(j==n-1){
lasth = b;
}
}
for(int j = 0; j < n; j++){
int a,b;
cin>>a>>b;
for(int i = a; i < b;i++){
w[i] = 1;//w装车时间设为1
}
if(j==n-1){
lastw = b;
}
}
int last = max(lasth,lastw);//找到h,w两人的最后装车时间
for(int i = 1; i<=last; i++){
if(h[i]==1&&w[i]==1){ //当两人同时装车时,聊天时间增加
sum++;
}
}
cout<<sum;
}