记录编号 |
567711 |
评测结果 |
AAAAAAAAAAAAAAAAAAAAAAAAA |
题目名称 |
EYOI的成立 |
最终得分 |
100 |
用户昵称 |
ムラサメ |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
4.198 s |
提交时间 |
2021-12-05 16:35:54 |
内存使用 |
9.55 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n,a,b;
int f[1000010];
int lowbit(int x){
return x&-x;
}
void work2(int x){
int p=x;
while(x<=1000000){
f[x]=max(f[x],p);
x+=lowbit(x);
}
return;
}
int work1(int x){
int ans=0;
while(x>0){
ans=max(ans,f[x]);
x-=lowbit(x);
}
return ans;
}
int main(){
freopen("EYOI_found.in","r",stdin);
freopen("EYOI_found.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a>>b;
cout<<work1(a+b-1)<<endl;
if(a){
work2(a);
}
}
return 0;
}