제출 #1205592

#제출 시각아이디문제언어결과실행 시간메모리
1205592khangrlRotating Lines (APIO25_rotate)C++20
컴파일 에러
0 ms0 KiB
#include "rotate.h" #include <bits/stdc++.h> #define ff first #define ss second #define pb push_back #define ll long long using namespace std; void energy(int n, std::vector<int> v){ if(calc_energy()==n*n/4*25000+n%2*n/2*25000){ return ; } vector <pair <int, int> > sorted; vector <int> fh, sh; map <int, int> mp; for(int i=0; i<n; i++){ sorted.pb({v[i], i}); mp[i]=v[i]; } sort(sorted.begin(), sorted.end()); for(int i=0; i<n/2+n%2; i++){ if(sorted[i].ff>0) fh.pb(sorted[i].ss); } int sum=0; while(!fh.empty()){ rotate(fh, -(mp[fh[0]]-sum)); int temp=mp[fh[0]]; while(mp[fh[0]]==temp and !fh.empty()){ fh.erase(fh.begin()); } sum+=mp[fh[0]]; } int j=0; for(int i=n/2+n%2; i<n; i++){ if(sorted[i].ff>25000){ if(j==0) j=i; sh.pb(sorted[i].ss); } } if(j==0){ j=n; } sum=0; while(!sh.empty()){ rotate(sh, -(mp[sh[0]]-sum-25000)); int temp=mp[sh[0]]; while(mp[sh[0]]==temp and sh.size()!=0){ sh.erase(sh.begin()); } sum+=mp[sh[0]]; } for(int i=j-1; i>=n/2+n%2; i--){ sh.pb(sorted[i].ss); } sum=0; while(!sh.empty()){ rotate(sh, (25000-mp[sh[0]])-sum); int temp=mp[sh[0]]; while(mp[sh[0]]==temp and !sh.empty()){ sh.erase(sh.begin()); } sum+=(25000-mp[sh[0]]); } return ; }

컴파일 시 표준 에러 (stderr) 메시지

rotate.cpp: In function 'void energy(int, std::vector<int>)':
rotate.cpp:12:12: error: 'calc_energy' was not declared in this scope
   12 |         if(calc_energy()==n*n/4*25000+n%2*n/2*25000){
      |            ^~~~~~~~~~~