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
- 방송 화면에 키보드 띄우기
- xiao yun
- split keyboard
- 비례대표제 계산
- 비례대표 계산 코드
- 럭키팡
- 막걸리 리뷰
- 우희열 명인 한산 불소곡주
- 키보드 화면
- 12월 가결
- 대대포 블루
- 스플릿 키보드 후기
- 맥북 프로 16인치 M1 pro
- Camera obscura #pinhole camera #room camera #방 카메라
- DZ60
- 막믈리에
- 막걸리
- 맥주 리뷰
- 카트라이더 매크로
- Orthogonal 키보드
- i3wm
- 맥주리뷰
- 선호 막걸리
- 연동형 비례대표 계산 프로그램
- QMK
- Asahi super dry
- 해외맥주
- 준연동형
- 맥북 프로 리뷰
- 키보드 변천사
Archives
- Today
- Total
아 그게 뭐더라
코포 Mail.Ru Cup 2018 Round 2 - C번 본문
http://codeforces.com/contest/1055/problem/C
어제 간단한데 안풀려서 그냥 잤다.
http://codeforces.com/contest/1055/submission/45523903
#include <bits/stdc++.h> using namespace std; typedef long long LL; LL la, lb, ra, rb, ta, tb; int main() { cin >> la >> ra >> ta; cin >> lb >> rb >> tb; LL g = __gcd(ta, tb); if (la < lb) { swap(la, lb); swap(ra, rb); swap(ta, tb); } LL da = ra - la + 1, db = rb - lb + 1; LL ans = 0; if ((la - lb) % g == 0) { ans = min(da, db); } else { LL d = g - (la - lb) % g; ans = max(ans, min(db, da - d)); d = g - d; ans = max(ans, min(db - d, da)); } cout << ans << endl; }
#include<bits/stdc++.h> using namespace std; int a,b,c,x,y,z,g; int main() { cin>>a>>b>>c>>x>>y>>z; g=__gcd(c,z); cout<<max(min(max(b-a+1-((x-a)%g+g)%g,0),y-x+1),min(b-a+1,y-x+1-g+((x-a)%g+g)%g)); }
남의 코드를 봐도 나중에 다시 만들기 어려울 것 같아서 여기에 메모해 놓는다.
문제요약)
링크의 사진을 보면 됨.
풀이요약)
(주기 두개 gcd)는 두 주기가 한번 반복됨에 따라 한번씩 밀리는 칸의 갯수. (아마?)
이게 0이거나, (첫번째 ans 대입)
이걸로 시작지점 la, lb가 최대한 어긋나지 않도록 맞추거나 (두번째 ans 대입)
반대쪽 기준으로 시작지점 la, lb가 최대한 어긋나지 않도록 맞추거나 (세번째 ans 대입)
하는 것 같다.
'공부 > PS ' 카테고리의 다른 글
Codeforces Round #781 (Div. 2) (1) | 2022.04.17 |
---|---|
SCPC 2021 2라운드 풀기 (1) | 2021.10.21 |
SCPC 2021 1차 풀기 (1) | 2021.08.04 |
세그먼트 트리 중간값 의식의 흐름 BOJ 9426 (2) | 2019.05.18 |
카카오 코드 페스티벌 잘 못푼 이야기 (0) | 2018.08.05 |
Comments