Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 정규식 활용
- python popen
- python os
- snmp
- semanage
- python subprocess
- c3 초
- centos pyhon 설치
- g++ 업데이트
- regex_search
- c3 축 없애기
- grafana dashboard
- gcc regex
- 정규식 문자열 출력
- 백준
- subporcess path
- c3 축 가리기
- selinux port 등록
- 정규식 컴파일
- telegraf
- influxdb 설치
- gcc 업데이트
- snmp test
- CentOS7
- 1697
- linux시간으로 변경
- InfluxDB
- c++ 정규식
- c3 second
- c3 step graph
Archives
- Today
- Total
리셋 되지 말자
[백준 1654] 랜선 자르기 본문
전선의 길이가 2의 31승 까지 가는데, 자료형을 잘못 정해서 뻘짓을 많이 하였다
unsigned long long과 비트 연산을 이용해서 수를 만들어줌.
long long도 되는지 이상함.
분명 배열은 long long 인데 (실수임)
왜 되는거지>..?
#include<bits/stdc++.h>
using namespace std;
long long lan[100001];
int k, n;
int main(){
cin>>k>>n;
for(int i=0; i<k; i++){
cin>>lan[i];
}
unsigned long long s=1, e;
int a=31;
e = ((unsigned long long)1<<31) -1 ;
int sum=0;
unsigned long long res=0;
while(s<=e){
sum=0;
unsigned long long mid = (s+e)/2;
for(int i=0; i<k; i++){
sum+=(lan[i]/mid);
}
if(sum<n){
e=mid-1;
}
else {
res = max(res, mid);
s=mid+1;
}
}
cout<<res<<'\n';
return 0;
}
'알고리즘' 카테고리의 다른 글
pair 구성요소를 같은 vector 정렬하기 (0) | 2020.08.14 |
---|---|
[우선순위 큐(Heap)] c++ (0) | 2020.06.14 |
[c++] stoi (0) | 2020.05.21 |
[c++] to_string (int를 string으로 변경하는 함수) (0) | 2020.05.21 |
[C++] sort 내림차순 (0) | 2020.05.21 |
Comments