입국심사

고장난·2021년 8월 10일
0
1회차
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

long long solution(int n, vector<int> times) {
    long long answer = 0;
    vector<int> Line=times;
    for(int i=0;i<n;i++){
        if(i==n-1){
            answer=*min_element(Line.begin(), Line.end());
            break;}
        
        Line[min_element(Line.begin(), Line.end()) - Line.begin()]+=times[min_element(Line.begin(), Line.end()) - Line.begin()];
        
    }
    
    
    return answer;
}
정확성  테스트
테스트 1 〉	통과 (0.01ms, 3.76MB)
테스트 2 〉	통과 (0.14ms, 4.34MB)
테스트 3 〉	실패 (4.56ms, 3.71MB)
테스트 4 〉	통과 (7036.43ms, 7.08MB)
테스트 5 〉	실패 (시간 초과)
테스트 6 〉	실패 (시간 초과)
테스트 7 〉	실패 (시간 초과)
테스트 8 〉	실패 (시간 초과)
테스트 9 〉	통과 (7563.87ms, 3.7MB)
채점 결과
정확성: 44.4
합계: 44.4 / 100.0
2회차
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

long long solution(int n, vector<int> times) {
    long long answer = 0;
    sort(times.begin(),times.end());
    long long min=1;
    long long max=(long long)times[times.size()-1]*n;
    
    while(min<=max){
        long long mid=(max+min)/2;
        long long count=0;
        for(int i=0;i<times.size();i++){
            count+=mid/times[i];
        }
        if(count<n)min=mid+1;
        else{
            if(mid<=max){
                answer=mid;
            }
            max=mid-1;
        }
        
        
    }
    
    return answer;
}
정확성  테스트
테스트 1 〉	통과 (0.01ms, 4.34MB)
테스트 2 〉	통과 (0.03ms, 3.98MB)
테스트 3 〉	통과 (0.38ms, 3.99MB)
테스트 4 〉	통과 (43.62ms, 6.82MB)
테스트 5 〉	통과 (45.03ms, 6.83MB)
테스트 6 〉	통과 (49.87ms, 6.57MB)
테스트 7 〉	통과 (54.95ms, 6.82MB)
테스트 8 〉	통과 (53.87ms, 6.82MB)
테스트 9 〉	통과 (0.01ms, 3.92MB)
채점 결과
정확성: 100.0
합계: 100.0 / 100.0
profile
훈련중

0개의 댓글