제출 #1364672

#제출 시각아이디문제언어결과실행 시간메모리
1364672aaatroushRotating Lines (APIO25_rotate)C++20
5 / 100
0 ms836 KiB
#include "rotate.h"
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
#define ll int
#define all(x) x.begin(), x.end()
#define pb push_back
#define pii pair<ll, ll>
#define in(v) for(auto &elem:v){ cin>>elem; }
#define out(v) for(auto elem:v){ cout<<elem.first<<" "; } cout<<endl;
#define FAST ios_base::sync_with_stdio(false); cin.tie(NULL);
typedef tree<pii, null_type, std::greater<>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;

// void energy(int n, std::vector<int> v){
//     vector<pii> angles(n);
//     for(ll i = 0; i<n; i++){
//         angles[i] = {v[i], i};
//     }
//     sort(all(angles), greater<pii>());
//     //out(angles);
//     for(ll i = 0; i<n/2; i++){
//         ll x = 25000 - angles[i].first;
//         rotate({angles[i].second}, x);
//     }
//     if(n%2 == 1){
//         ll x;
//         if(angles[n/2].first <= 12500){
//             x = 12500-angles[n/2].first;
//         }
//         else{
//             x = (25000-angles[n/2].first) + 75000 + 12500;
//         }
//         rotate({angles[n/2].second}, x);
//     }
//     for(ll i = (n+1)/2; i<n; i++){
//         ll x = (25000-angles[i].first) + 75000;
//         rotate({angles[i].second}, x);
//     }
// }

void energy(int n, std::vector<int> v){
    vector<pii> angles(n);
    for(ll i = 0; i<n; i++){
        angles[i] = {v[i]%100000, i};
    }
    sort(all(angles));

    ll diff = angles[1].first-angles[0].first;

    if(diff > 25000){
        rotate({angles[0].second}, diff - 25000);
    }
    else{
        rotate({angles[1].second}, 25000 - diff);
    }
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…