제출 #235309

#제출 시각아이디문제언어결과실행 시간메모리
235309keta_tsimakuridzeHedgehog Daniyar and Algorithms (IZhO19_sortbooks)C++14
100 / 100
1793 ms131448 KiB
#include<bits/stdc++.h>
#define f first
#define s second
using namespace std;
long long n,m,k,a[1000006],cur,x[1000006],tree[4*1000006],i,ans[1000006];
vector<int>v[1000006];
pair< pair<int,int> , pair<int,int> > p[1000006];
void update(int u,int ind,int l,int r,int val){
	if(l>ind || r<ind) return;
	if(l==r) {
		tree[u]=val; return;
	}
	int mid=(l+r)/2;
	update(2*u,ind,l,mid,val);
	update(2*u+1,ind,mid+1,r,val);
	tree[u]=max(tree[2*u],tree[2*u+1]);
}
int getans(int u,int start,int end,int l,int r){
	if(l>end|| r<start) return 0;
	if(start<=l && r<=end) return tree[u];
	int mid=(l+r)/2;
	return max(getans(2*u,start,end,l,mid),getans(2*u+1,start,end,mid+1,r));
}
int main(){
	ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
	cin>>n>>m;
	for(k=1;k<=n;k++){
		cin>>a[k];
		
		cur=k-1;
		while(a[cur]<=a[k] && cur!=0){
			cur=x[cur];
		}
		x[k]=cur;
		
		if(cur!=0) update(1,k,1,n,a[cur]+a[k]),
		v[cur].push_back(k);
	
	}
	
	for(k=1;k<=m;k++){
		cin>>p[k].f.f>>p[k].f.s>>p[k].s.f;
		p[k].s.s=k;
	}
	sort(p+1,p+m+1);
	i=1;
	for(k=1;k<=m;k++){
	
		while(i<p[k].f.f){
		
			for(int j=0;j<v[i].size();j++)
			update(1,v[i][j],1,n,0);
			
			i++;
		}
	
		if(getans(1,p[k].f.f,p[k].f.s,1,n)>p[k].s.f)ans[p[k].s.s]=0;
		else ans[p[k].s.s]=1;
	}
	for(k=1;k<=m;k++)
	cout<<ans[k]<<" ";
}

컴파일 시 표준 에러 (stderr) 메시지

sortbooks.cpp: In function 'int main()':
sortbooks.cpp:51:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int j=0;j<v[i].size();j++)
                ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...