본문으로 바로가기

백준 2208 보석줍기

category Algorithm 2020. 2. 28. 23:36

해결해야될 점은 O(n^2)를 하면 시간초과가 나기때문에 for문 한번으로 최댓값을 계산하는 방법을 구하는 것이다.

for(int i = 0; i<a ; i++) {
			s+=jew[i];
			if(i>=b) {
				t +=jew[i-b];
				minT = minT> t? t: minT;
				ans = ans> s-minT? ans: s-minT;
			}
		}

한 반복문에서

더해줄 것의 값과, 뺴야될 것의 값을 별개로 구해주어서 최댓값을 구해주면 된다.

ex)12345678 - 123 = 45678

 

 

어렵다.. ㅠㅠ

'Algorithm' 카테고리의 다른 글

백준 2920 음계  (0) 2020.03.01
백준 2745 진법 변환  (0) 2020.03.01
백준 2493 탑  (0) 2020.02.28
백준 2004 조합 0의 개수  (0) 2020.02.28
에라스토테네스의 체와 소수  (0) 2020.02.26