아직 계정이 없으신가요? 회원가입

Dev. Talk

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

회원사진qkd1101
51 views2022-10-20 15:35


#include<iostream>
#include<bits/stdc++.h>


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;



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


알려주세요 고수님들!