论如何让STL卡过
查看原帖
论如何让STL卡过
388391
我是小何子啊楼主2021/4/7 13:55

看到这题想到STL里的reverse翻转操作,可是最后一个点时超,论如何卡过?

#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,m,l,r,a[100001];
inline int read(){
    int x=0,f=0;
	char ch=getchar();
    while(ch<'0'||ch>'9') f|=ch=='-',ch=getchar();
    while(ch>='0'&&ch<='9') x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
    return f?-x:x;
}
inline void write(int x){
	if(x>9) write(x/10);
	putchar(x%10+'0');
}
signed main(){
	n=read(),m=read();
	for(register int i=1;i<=n;++i) a[i]=i;
	for(register int i=1;i<=m;++i){
		l=read(),r=read();
		reverse(a+l,a+r+1);
	}
	for(register int i=1;i<=n;++i) write(a[i]),putchar(' ');
	exit(0);
}
2021/4/7 13:55
加载中...