| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1347299 | 053thousand | Rotating Lines (APIO25_rotate) | C++20 | 3090 ms | 836 KiB |
#include "rotate.h"
#include <vector>
#include<math.h>
using namespace std;
int ag(int x,int y){
return min(abs(x-y),50000-abs(x-y));
}
void energy(int n, vector<int> v){
vector<int>send;
long long int fp=v[0],sp=(v[0]+25000)%50000,fpc=1,spc=0;
for(int i=v.size()-1;i>0;i--) send.push_back(i);
for(int i=1;i<v.size();i++){
long long int ip=0;
int mb=fp-v[i];
for(int h=i;h<v.size();h++){
int np=(mb+v[h]+50000)%50000;
int ag1=ag(fp,v[h]),ag2=ag(sp,v[h]),ag3=ag(fp,np),ag4=ag(sp,np);
ip+=(ag3*fpc+ag4*spc)-(ag1*fpc+ag2*spc);
}
if(ip>0){
rotate(send,fp-v[i]);
fpc++;
}
else {
rotate(send,sp-v[i]);
spc++;
}
send.pop_back();
}
for(int i=0;i<n;i++)send.push_back(i);
if(abs(fpc-spc)>=2) rotate(send,1);
}| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
