회원가입
로그인
Toggle navigation
문제
문제
전체 문제
문제 출처
단계별로 풀어보기
알고리즘 분류
새로 추가된 문제
새로 추가된 영어 문제
새로 추가된 문제 풀이
문제 순위
문제
푼 사람이 1명인 문제
아무도 못 푼 문제
최근 제출된 문제
최근 풀린 문제
랜덤
출처
ACM-ICPC
Olympiad
한국정보올림피아드
한국정보올림피아드시․도지역본선
전국 대학생 프로그래밍 대회 동아리 연합
대학교 대회
카카오 코드 페스티벌
Coder's High
ACM-ICPC
Regionals
World Finals
Korea Regional
Africa and the Middle East Regionals
Europe Regionals
Latin America Regionals
North America Regionals
South Pacific Regionals
문제집
대회
1
채점 현황
랭킹
게시판
그룹
블로그
강의
N
전체
공지
자유
질문
오타/오역/요청
게시판 공지
홍보
업데이트
글쓰기
어디가 틀렸나요?
1654번 - 랜선 자르기
pos10022
2년 전
0
이거 왜 틀렸다고 나오나요?
#include <stdio.h> int k,n; long long s,e,ans,max=-999,cable[10005]; bool cut(long long a) { int i; long long cnt=0; for(i=1;i<=k;i++) cnt+=cable[i]/a; if(cnt>=(long long)n) return true; else false; } int main() { int i; scanf("%d %d",&k,&n); for(i=1;i<=k;i++) { scanf("%lld",&cable[i]); if(max<cable[i]) max=cable[i]; } s=1; e=max; while(s<=e) { long long mid=(s+e)/2; if(cut(mid)) { if(ans<mid) ans=mid; s=mid+1; } else e=mid-1; } printf("%lld\n",ans); }
댓글을 작성하려면
로그인
해야 합니다.
pos10022 2년 전
이거 왜 틀렸다고 나오나요?