Submission #1613031
Source Code Expand
#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 Info
Submission Time | |
---|---|
Task | B - 最長の階段 |
User | ecasdqina |
Language | C++14 (GCC 5.4.1) |
Score | 20 |
Code Size | 817 Byte |
Status | AC |
Exec Time | 36 ms |
Memory | 768 KB |
Judge Result
Set Name | set01 | set02 | set03 | set04 | set05 | set06 | set07 | set08 | set09 | set10 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | 2 / 2 | ||||||||||
Status |
|
|
|
|
|
AC | AC | AC | AC | AC |
Set Name | Test Cases |
---|---|
set01 | data1 |
set02 | data2 |
set03 | data3 |
set04 | data4 |
set05 | data5 |
set06 | data6 |
set07 | data7 |
set08 | data8 |
set09 | data9 |
set10 | data10 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
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 |