結果

問題 No.2210 equence Squence Seuence
コンテスト
ユーザー 👑 tails
提出日時 2023-02-11 02:41:41
言語 C90
(gcc 15.2.0)
コンパイル:
gcc-15 -O2 -std=c90 -DONLINE_JUDGE -o a.out _filename_ -lm
実行:
./a.out
結果
AC  
実行時間 8 ms / 2,000 ms
コード長 623 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 181 ms
コンパイル使用メモリ 39,176 KB
最終ジャッジ日時 2026-02-24 01:12:15
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 25
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function 'main':
main.c:38:9: warning: incompatible implicit declaration of built-in function 'memcpy' [-Wbuiltin-declaration-mismatch]
   38 |         memcpy(wp,p0,p2-p0);
      |         ^~~~~~
main.c:1:1: note: include '<string.h>' or provide a declaration of 'memcpy'
  +++ |+#include <string.h>
    1 | #pragma GCC optimize("Ofast")

ソースコード

diff #
raw source code

#pragma GCC optimize("Ofast")
#pragma GCC target("avx2")

#define rd() ({long _v=0,_c;while(_c=*rp++-48,_c>=0)_v=_v*10+_c;_v;})

char rbuf[1<<25];
char wbuf[1<<25];

int main(){
	char*rend=rbuf+read(0,rbuf,sizeof rbuf);
	char*rp=rbuf;
	long n=rd();
	long k=rd()-1;
	long a=0;
	long b=n;
	long d=1;
	char*p0=rp;
	char*p1=rp;
	char*p2;
	long u=rd();
	while(a<=k&&k<b){
		p2=p1;
		p1=rp;
		long v=rd();
		if(u==v){
			++d;
		}else{
			if(u<v){
				b-=d;
			}else{
				a+=d;
			}
			u=v;
			d=1;
		}
	}
	char*wp=wbuf;
	memcpy(wp,p0,p2-p0);
	wp+=p2-p0;
	memcpy(wp,p1,rend-p1);
	wp+=rend-p1;
	write(1,wbuf,wp-wbuf);
	_exit(0);
}
0