개발자 톡

연습문제 톡 [21년 재직자 대회 예선] 마이크로서버

마이크로 서비스 질문입니다.

등록일
2022-10-20 15:35:07
조회수
495
작성자
qkd1101


#include
#include


using namespace std;
int T,n,temp;
int service[1001][100001] ;
int s[1001];

int main(int argc, char** argv)
{
	ios::sync_with_stdio(0);
	cin.tie(0);

	cin >> T;
	for(int j = 0; j < T;j++){
		cin >> n;
		for(int i = 0; i < n ; i++){
			cin >> temp;
			service[j][i] = temp;
		}
		s[j] = n;
		sort(service[j],service[j]+n);
	}
	
	for(int j = 0; j < T;j++){
		int answer = 0;
		int l = 0;
		int r = s[j]-1;
		int sum = 0;
		while ( l < r ){
			if(service[j][r] > 900){
				r --;
				continue;
			}
			
			if(sum + service[j][l] + service[j][r] > 900){
				sum = 0;
				r--;
				answer += 1;
			}
			else if(sum + service[j][l] + service[j][r] == 900){
				r --;
				l ++;
				sum = 0;
				answer += 1;
			}
			else if(sum + service[j][l] + service[j][r] < 900){
				sum += service[j][l];
				l++;
			}
		}
		if(l == r){
			answer += 1;
		}
		printf("%d\n",answer);
	}

	return 0;



몇개 케이스 통과가 안되는데 왜그러는지 모르겠네요 ㅜㅡ


알려주세요 고수님들!

#[21년_재직자_대회_예선]_마이크로서버
#마이크로서비스
#c++

이 카테고리의 톡 더보기