제출 #573028

#제출 시각아이디문제언어결과실행 시간메모리
573028MohamedAliSaidaneArt Collections (BOI22_art)C++17
컴파일 에러
0 ms0 KiB
#include<bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include "art.h" using namespace __gnu_pbds; using namespace std; typedef tree<int,null_type,less<int>,rb_tree_tag, tree_order_statistics_node_update> indexed_set; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<ll,ll> pll; typedef pair<ld,ld> pld; typedef vector<int> vi; typedef vector<ll> vll; typedef vector<pii> vpi; typedef vector<pll> vpl; #define pb push_back #define popb pop_back #define pp pop_back #define pf push_front #define popf pop_front #define all(x) (x).begin(),(x).end() #define ff first #define ss second ///#define int ll int nx[4] = {0,0,1,-1}, ny[4] = {1,-1,0,0}; ll gcd(ll a , ll b) {return b ? gcd(b , a % b) : a ;} ll lcm(ll a , ll b) {return (a * b) / gcd(a , b);} const int nax = 4001; int n; /* int rnk[nax]; int publish(vi a) { int rep = 0; for(int i = 0; i < n ; i++) { for(int j = 0; j < i ; j++) rep += (rnk[a[i]] < rnk[a[j]]); } return rep; } */ vi solve(int N) { n = N; vi perm; for(int i = 1 ;i <= n; i ++) perm.pb(i); int cur = publish(perm); vi res; res.pb(n); for(int i = n - 1; i >= 1 ;i --) { vi nv; for(int j = 1; j <= n; j++) { if(j != i) nv.pb(j); } nv.pb(i); int c= publish(nv); int delt = c - cur; vi chg; //cout << i << ' ' << delt << '\n'; for(int j = 0; j < (n - i); j++) { if(delt == n - i - 2 *j) chg.pb(i); chg.pb(res[j]); } if(delt == - (n - i)) chg.pb(i); swap(res,chg); } answer(res); } /* int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int N; cin >> N; for(int i = 0; i < N; i ++) { int x; cin >> x; rnk[x] = i; } vi u = solve(N); for(auto e: u) cout << e << ' ' ; } */

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

art.cpp:52:12: error: ambiguating new declaration of 'vi solve(int)'
   52 |         vi solve(int N)
      |            ^~~~~
In file included from art.cpp:3:
art.h:17:6: note: old declaration 'void solve(int)'
   17 | void solve(int N);
      |      ^~~~~
art.cpp: In function 'vi solve(int)':
art.cpp:85:9: warning: no return statement in function returning non-void [-Wreturn-type]
   85 |         }
      |         ^
interface.cpp: In function 'int publish(std::vector<int>)':
interface.cpp:20:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   20 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~
interface.cpp: In function 'void answer(std::vector<int>)':
interface.cpp:36:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |     if(v.size() != N) {
      |        ~~~~~~~~~^~~~