아이들의 번호 k를 하나씩 받을 때마다
받은 번호의 바로 앞번호가 아직 나오지 않았다면 arr[k] = 1을 저장(arr을 0으로 초기화 했다면 arr[k] = arr[k - 1] + 1;을 해도 무방)
이미 있다면 arr[k] = arr[k - 1] + 1;
이런식으로 하면 시간복잡도가 O(n)이 됩니다.
© 2018 All Rights Reserved. 주식회사 스타트링크 |
서비스 약관 |
개인정보 보호 |
결제 이용 약관 |
도움말 |
광고 문의 |
대회 개최 문의
사업자 등록 번호: 541-88-00682
대표자명: 최백준
주소: 서울시 서초구 강남대로 359 대우도씨에빛2 5층 502호
전화번호: 02-521-0487 (이메일로 연락 주세요)
이메일: [email protected]
통신판매신고번호: 제 2017-서울서초-2193 호
이 사이트는 ACM 또는 ACM-ICPC 대회와 무관하며, ACM으로부터 승인이나 지원을 받지 않고 있습니다.
quddnr4096 1년 전
자기 바로 다음 번호가 자신의 뒤에 위치해있다면 카운트를 1 증가시키고 그 다음 숫자에 대해 똑같이 반복,
이 때 카운트가 최대인 경우를 구해서 N - 최대를 해주는 형식으로 답을 구하려고 하였는데 시간초과에서 자꾸 막히네요..
나름 줄인다고 앞쪽에서 사용이 되었는 값은 그냥 넘어가는 형식을 취해줘도 안되네요..
고수님들 시간 줄이는 방법좀 알려주십쇼~