342
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
int main(){
int q[100010],n,m;
scanf("%d %d",&n,&m);
for(int i=0;i<n;i++) scanf("%d",&q[i]);
while(m--){
int x;
scanf("%d",&x);
int l=0,r=n-1;
while(l<r){
int mid = (l+ r)/2;
if(q[mid]>=x) r=mid;
else l=mid+1;}
if(q[l]!=x) cout << "-1 -1"<<endl;
else {
cout<<l<<' ';
int l=0,r=n-1;
while(l<r){
int mid=(l+r+1)/2;
if(q[mid]<=x) l=mid;
else r=mid-1;}
cout<<l<<endl;}
}
return 0;}


格式化输入输出。
用秒计算方便。
#include <stdio.h>
#include <iostream>
using namespace std;
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++){
int T=0;
for(int j=0;j<2;j++){
int a,b,c,t;
scanf("%d:%d:%d ",&a,&b,&c);
int miao_gb=a*3600+b*60+c;
scanf("%d:%d:%d",&a,&b,&c);
miao_gb=a*3600+b*60+c-miao_gb;
if(getchar()==' '){
scanf("(+%d)",&t);
miao_gb+=3600*24*t;}
T+=miao_gb;
}
printf("%02d:%02d:%02d\n",T/2/3600,T/2%3600/60,T/2%60);
}
return 0;
}
记得刷pat的题喔