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
- 정규식 컴파일
- semanage
- selinux port 등록
- snmp
- linux시간으로 변경
- grafana dashboard
- InfluxDB
- g++ 업데이트
- CentOS7
- subporcess path
- c3 축 없애기
- regex_search
- influxdb 설치
- c3 step graph
- python subprocess
- python popen
- 백준
- c3 초
- 정규식 활용
- snmp test
- c++ 정규식
- gcc 업데이트
- 1697
- 정규식 문자열 출력
- telegraf
- c3 축 가리기
- centos pyhon 설치
- python os
- c3 second
- gcc regex
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