2017년 2월 26일 일요일

??? 왜 또 소스 올리는게 안되는거지

?????

1337 올바른 배열

배열 사이에서 연속적인(차이가 1) 원소가 5개가 되기 위해서 몇개의 숫자가 필요한가? 를 묻는 문제였다


슬라이딩윈도우? 처럼 풀었더니 쉽게 풀리는 문제!



#include <bits/stdc++.h>
using namespace std;
#define INF 987654321
#define P make_pair
typedef long long LL;
 
int arr[10001];
 
int main(){
    
    int n;
    scanf("%d",&n);
    for(int i=0;i<n;i++)
        scanf("%d",&arr[i]);
    
    sort(arr,arr+n);
    
    int s=arr[0],e=arr[0],idx_s=0;
    
    int cnt=1,Max=1;
    
        
    for(int i=1;i<n;i++){
        
        cnt++;
        
        while(arr[i]-arr[idx_s]>4){
            idx_s++;
            cnt--;
        }
        
        Max=max(Max,cnt);
    }
    
    if(Max>5) Max=5;
    printf("%d",5-Max);
    
    return 0;
}
 
cs

2017년 2월 24일 금요일

새해가 시작되고도 약 2개월이 지났습니다.

acm 본선도 못가고 

scpc본선도 못갔지만

뗄수 없는게 취미생활인거 같다


다시 시작합니다 boj문제풀이