개발자 톡
연습문제 톡
[HSAT 4회 정기 코딩 인증평가 기출] 슈퍼컴퓨터 클러스터
수퍼컴퓨터 클러스터 문제 시간 초과의 원인을 모르겠습니다
- 등록일
- 2022-11-24 19:09:53
- 조회수
- 732
- 작성자
- leekb123
#include
#include
using namespace std;
int vCom[100001];
typedef long long ll;
int main(int argc, char** argv)
{
ios::sync_with_stdio(0);
cin.tie(0);
int n;
ll B;
cin >> n >> B;
for ( int i = 0 ; i < n ; ++i )
{
cin >> vCom[i];
}
ll answer = 0;
int temp;
int min = 0;
int max = 2000000000;
while(min <= max)
{
int mid = (max + min) / 2;
ll cost = 0;
bool bPossible = true;
for ( int i = 0 ; i < n ; ++i )
{
if ( mid < vCom[i] )
{
continue;
}
temp = mid - vCom[i];
cost += (ll)temp * (ll)temp;
if ( B < cost )
{
bPossible = false;
break;
}
}
if ( !bPossible )
{
max = mid - 1;
}
else
{
min = mid + 1;
answer = mid;
}
}
cout << answer << endl;
return 0;
}
대부분의 case 는 문제 없이 수십 ms 이하로 잘 동작하는데
특정 4개 케이스는 이상하게 3000ms 이상 시간이 걸려서 최종적으로 실패합니다
코드 상에서 별다른 문제점을 찾지 못했는데
혹시 원인을 알 수 있을까 싶어서 글을 올립니다
도와주세요ㅜㅜ
#[hsat_4회_정기_코딩_인증평가_기출]_슈퍼컴퓨터_클러스터
#c++
#수퍼컴퓨터_클러스터