본문 바로가기

알고리즘/코드포스

(3)
[코드포스] edu_round #99(div2)-B JUMPS 문제 링크 : codeforces.com/contest/1455/problem/B Problem - B - Codeforces codeforces.com 역시 코포 문제가 직관 기르기에 좋은 것 같다. 1+2+3+.....+ xi 의 값이 n이라면 i가 답 아니라면 최초로 (n+1)보다 큰 값이 나오는 수까지 더한 횟수(i)가 답이 된다. 이유는 음수가 두 개 이상 나오지 않는것을 공책에 써가면 직관적으로 느낌이 온다. 자명하다는 것은 알아서 증명 음수가 한 개 나온다면 그것은 +1 대신에 -1, +2 대신에 -1 , +3 대신에 -1 이런식으로 바뀔 수 있으므로 xi까지 더한 값을 sum이라 하면 sum -xi-1 ~ sum-2까지 가능하다 그래서 (n+1)보다 큰 값이 나온다면 그 값에서 어떤 수든 ..
[코드포스] Round #686(div3)-B Unique Bid Auction 문제링크 : codeforces.com/contest/1454/problem/B Problem - B - Codeforces codeforces.com 배열에 있는 값이 나온 횟수를 cnt배열에 저장했다. cnt배열에 저장된 수 중 1번만 나온 수를 찾아서 다시 한번 반복문을 돌며 인덱스를 출력해주었다. 효율성이 애매할 것 같았는데 모든 테스트케이스에서의 sum of n이 20만 미만이라서 간신히 돌아간 듯 하다. #include #include #include #include #include #include using namespace std; int cnt[200001]; int arr[200001]; int main() { int tc; cin >> tc; for (int i = 0; i < tc;..
[코드포스] Sum of Medians 문제링크 : codeforces.com/contest/1440/problem/B Problem - B - Codeforces codeforces.com 영어 지문의 경우 테스트케이스에 대한 해석으로만 풀려는 경향이 있는 것 같다. 또, 조건을 충분히 파악하지 않고 풀다가 long long의 결과값이 나올 수 있는 문제인데 int 범위만 생각하다가 몇번 틀리고 오랫동안 매달렸다. 아직 코드포스는, 익숙한 c++로 풀었다. #include #include #include using namespace std; int main() { int tc; cin >> tc; for (int i = 0; i > x >> y; for (int i = 0;..