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
- 스플릿 키보드 후기
- 럭키팡
- 방송 화면에 키보드 띄우기
- 키보드 변천사
- 막걸리
- DZ60
- 막믈리에
- 맥북 프로 리뷰
- Camera obscura #pinhole camera #room camera #방 카메라
- 막걸리 리뷰
- 선호 막걸리
- i3wm
- Asahi super dry
- 12월 가결
- Orthogonal 키보드
- 우희열 명인 한산 불소곡주
- 대대포 블루
- split keyboard
- 비례대표제 계산
- 맥주리뷰
- 해외맥주
- 맥북 프로 16인치 M1 pro
- 연동형 비례대표 계산 프로그램
- QMK
- 준연동형
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