Not Equal on a Segment CodeForces

来源:互联网 发布:最后免费升级windows 编辑:程序博客网 时间:2024/05/16 07:01

特殊处理!学习一发


#include <bits/stdc++.h>using namespace std; const int N = 2e5+10; int pre[N]; int data[N]; int main(){int n,q; int h,t,val; cin>>n>>q; for ( int i=1; i<=n; i++ ) {scanf("%d",&data[i]); if ( data[i]==data[i-1] ) pre[i] = pre[i-1]; else pre[i] = i ; }while ( q-- ){scanf("%d%d%d",&h,&t,&val);if ( data[t]==val ) {if ( pre[t]==pre[h] ) printf("-1\n"); else printf("%d\n",pre[t]-1); }else {printf("%d\n",t); }}return 0; }



原创粉丝点击