看到这题想到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);
}