제출 #1355360

#제출 시각아이디문제언어결과실행 시간메모리
1355360tsetsenbilegRotating Lines (APIO25_rotate)C++20
11 / 100
30 ms3360 KiB
#include "rotate.h"
#include <bits/stdc++.h>
using namespace std;
#define pb push_back
using ll = long long;
using ld = long double;
using pr = pair<int, int>;
const int MOD = 1e9+7, MAXA = 1e6, MAX = 50000;

void energy(int n, vector<int> v){
    vector<pr> a(n);
    for (int i = 0; i < n; i++) a[i] = {v[i], i};
    sort(a.begin(), a.end());
    deque<pr> l, r;
    int inde = 0;
    while (inde < n && a[inde].first < 25000) l.push_back(a[inde++]);
    while (inde < n) r.push_front(a[inde++]);
    int cnt = 0;
    for (int i = 0; i < n; i++) {
        if (i % 2 == 1) {
            cnt++;
            int cur, ind;
            if (l.size() > r.size()) {
                cur = l.front().first;
                ind = l.front().second;
                l.pop_front();
            }
            else {
                cur = r.front().first;
                ind = r.front().second;
                r.pop_front();
            }
            int diff = 50000 - cur;
            rotate({ind}, diff);
        }
        else {
            int cur, ind;
            if (l.size() > r.size()) {
                cur = l.back().first;
                ind = l.back().second;
                l.pop_back();
            }
            else {
                cur = r.back().first;
                ind = r.back().second;
                r.pop_back();
            }
            int diff;
            if (cur > 25000) diff = 75000 - cur;
            else diff = 25000 - cur;
            rotate({ind}, diff);
        }
    }
} 
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…