第6回日本情報オリンピック 本選(オンライン)

Submission #1613031

Source codeソースコード

#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=(a);i<(b);i++)
#define RREP(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll; typedef long double ld;
using namespace std;
const int INF=1e9, MOD=1e9+7;
const int MAX_N=10000;
int n,k,a[100010]={},li[100010][3]={};

int main(){
	cin >> n >> k;
	REP(i,0,k) cin >> a[i];
	sort(a,a+k);
	int ma=0,c=1,cou=0;
	if(a[0]){
		REP(i,0,k){
			if(a[i]+1==a[i+1]){
				c++;
			}else{
				ma=max(ma,c);
				c=1;
			}
		}
	}else{
		li[0][0]=a[1];
		REP(i,1,k){
			if(a[i]+1==a[i+1]){
				c++;
			}else{
				li[cou][1]=a[i];
				li[cou+1][0]=a[i+1];
				li[cou][2]=c;
				cou++; c=1;
			}
		}
		
		REP(i,0,n){
			if(li[i][1]+2==li[i+1][0]){
				ma=max(ma,li[i][2]+li[i+1][2]+1);
			}
		}
	}
		
	cout << ma << endl;
	return 0;
}

Submission

Task問題 B - 最長の階段
User nameユーザ名 ecasdqina
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 20
Source lengthソースコード長 817 Byte
File nameファイル名
Exec time実行時間 36 ms
Memory usageメモリ使用量 768 KB

Test case

Set

Set name Score得点 / Max score Cases
set01 2 / 2 data1
set02 2 / 2 data2
set03 2 / 2 data3
set04 2 / 2 data4
set05 2 / 2 data5
set06 2 / 2 data6
set07 2 / 2 data7
set08 2 / 2 data8
set09 2 / 2 data9
set10 2 / 2 data10

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
data1 AC 1 ms 256 KB
data2 AC 1 ms 256 KB
data3 AC 21 ms 512 KB
data4 AC 34 ms 512 KB
data5 AC 36 ms 768 KB