-
Codeforces Round #613 (Div. 2)코드포스(CodeForce) 2020. 1. 16. 22:15반응형
https://codeforces.com/contest/1285/problem/A
LRLR 입력으로 들어오면 L 은 현재 위치에서 X-1 만큼 이동 R 은 X+1 만큼 이동한다.
제약사항이 L 만 움직이거나 R 만 움직이거나 모두 안 움직일 때 모든 경우의 수중 차이를 출력 아영 어가 너무 안되네 -0-
#include <iostream> #include <sstream> #include <string> #include <algorithm> #include <functional> #include <vector> #include <list> #include <queue> #include <deque> #include <map> #include <set> #include <stack> using namespace std; #define MAX_SIZE 100 #define INF 0x7fffffff #define CENDL "\n" int main() { cin.tie(0); std::ios::sync_with_stdio(false); int n; cin >> n; string s; cin >> s; int cntL = 0; int cntR = 0; for (int i = 0; i < n; i++) { char ch = s[i]; if (ch == 'L') { cntL++; } else { cntR++; } } int retL = 0 - cntL; int retR = cntR; int sum = 0; for (int i = retL; i <= retR; i++) { sum++; } cout << sum; return 0; }
https://codeforces.com/contest/1285/problem/B
야서랑 아델이 케이크를 먹으러 갔는데 아델은 모두 종류의 케이크를 먹고 야서는 모든 종류의 케이크를 먹지 못한다. 여기서 주어지는 정수 배열은 각 케이크의 맛의 점수이면 음수면 맛이 없는 거고 양수면 맛있다고 한다 그렇다고 한다.
만약 7 4 -1의 정수 배열이 입력되면 아델의 경우 모든 경우를 먹기 때문에 합은 7+ 4 +(-1) 임으로 10 이 된다.
야서의 경우는 모든 케이크를 선택할 수 없기 때문에 선택할 경우의 수는 아래와 같다.
선택한 케이크 합 7 7 4 4 7 + 4 11 7 - 1 6 4 - 1 3 문제는 아델이 다 먹은 케이크의 합산 점수보다 야서가 선택한 케이크의 합산 점수보다 높아야 아델은 행복 해진다.
행복하면 YES를 출력하고 행복하지 않으면 NO를 출력한다.
아 해석이 그지 같아서 죄송합니다.
결국 아델은 전체 케이크 합산 점수와 야서가 선택한 케이크의 합산 점수보다 높으면 YES를 출력하는 문제입니다.
전체 소스코드는 아래와 같습니다.
#include <iostream> #include <sstream> #include <string> #include <algorithm> #include <functional> #include <vector> #include <list> #include <queue> #include <deque> #include <map> #include <set> #include <stack> #include <cmath> using namespace std; #define MAX_SIZE 100 #define INF 0x7fffffff #define CENDL "\n" /* * @memory - 2380 kb * @time - 56 ms */ const long long minimum = -1e20; int main() { cin.tie(0); std::ios::sync_with_stdio(false); long long count = 0; cin >> count; while (count--) { long long d; cin >> d; vector<long long> arr(d); vector<long long> dp(d); long long sum = 0; for (int i = 0; i < d; i++) { long long input; cin >> input; sum += input; arr[i] = input; } dp[0] = arr[0]; for (int i = 1; i < d; i++) { dp[i] = max(arr[i], dp[i-1] + arr[i]); } long long tmp = arr[d - 1]; long long tmpSum = tmp; for (int i = d - 2; i >= 1; --i) { tmpSum += arr[i]; tmp = max(tmp, tmpSum); } dp[d - 1] = tmp; long long cand = minimum; for (int i = 0; i < d; ++i) cand = max(dp[i], cand); if (sum > cand) { cout << "YES"; } else { cout << "NO"; } cout << CENDL; } return 0; }
https://codeforces.com/contest/1285/problem/C
입력으로 받은 숫자의 LCM 을 구하는 문제입니다. 조금 꼬여 있는데 숫자가 입력되면 두 수를 찾아야합니다.
정수 4가 입력 되면
A B 판정 1 4 O 2 2 2는 2로 약수가 됨으로 X 4 1 O 입력으로 들어오는 숫자의 공배수를 찾아 INT Vector 에 넣고 나중에 가장 차이크 큰 수를 출력 하도록 구현함.
아아 증명이안된다
#include <iostream> #include <sstream> #include <string> #include <algorithm> #include <functional> #include <vector> #include <list> #include <queue> #include <deque> #include <map> #include <set> #include <stack> #include <cmath> using namespace std; #define MAX_SIZE 100 #define INF 0x7fffffff #define CENDL "\n" /* * @memory - 2380 kb * @time - 56 ms */ long long gcd(long long a, long long b) { while (b != 0) { long long r = a % b; a = b; b = r; } return a; } int main() { cin.tie(0); std::ios::sync_with_stdio(false); long long n; cin >> n; vector<pair<long long, long long>> arr; long long sqrtN = sqrt(n); for (long long i = 1; i <= sqrtN; i++) { long long cand = n / i; long long namuji = n % i; if (namuji == 0) { if(gcd(cand, i) == 1) arr.push_back(make_pair(i, cand)); } } long long sol = n; for (long long i = 0; i < arr.size(); i++) { long long cand = max(arr[i].first, arr[i].second); sol = min(sol, cand); } cout << sol << " " << n / sol; return 0; }
반응형'코드포스(CodeForce)' 카테고리의 다른 글
Codeforces Round #614 (Div. 2) - A. ConneR and the A.R.C. Markland-N (0) 2020.01.20 Code605s Round # 605 (Div. 3) (0) 2020.01.16 Codeforces Round #512 (Div 2) - A. In Search of an Easy Problem (0) 2018.09.30 Codeforces Round #462 (Div. 2) - A. A Compatible Pair (0) 2018.08.17 Educational Codeforces Round 38 (Rated for Div. 2) - Word Correction (0) 2018.08.17