Submission #1268283

#TimeUsernameProblemLanguageResultExecution timeMemory
1268283noopRotating Lines (APIO25_rotate)C++20
5 / 100
3095 ms840 KiB
#include "rotate.h"
#include <bits/stdc++.h>
using namespace std;
struct rod{
    int ang;
    int ind;
};
bool cmp(rod a, rod b){
    return (a.ang<b.ang);
}
void energy(int n, vector<int> v){
    int temp1,temp2;
    vector<int> t(n);
    vector<rod> rods(n);
    for (int i=0; i<n; i++){
        temp1=v[i];
        temp2=v[i]-50000;
        if (abs(temp2)<temp1){
            temp1=temp2;
        }
        rods[i]={temp1,i};
    }
    sort(rods.begin(),rods.end(),cmp);
    for (int i=n/2; i<n; i++){
        rods[i]={rods[i].ang-25000,rods[i].ind};
    }
    sort(rods.begin(),rods.end(),cmp);
    for (int i=0; i<rods.size(); i++){
        t[i]=rods[i].ind;
    }
    while (rods.size()){
        int c=rods.rbegin()->ang;
        if (c!=0){
            // rotate({rods.rbegin()->ind},-c);
            rotate(t,-c);
            for (int i=0; i<rods.size()-1; i++){
                rods[i].ang-=c;
            }
        }
        t.pop_back();
        rods.pop_back();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...