제출 #1277749

#제출 시각아이디문제언어결과실행 시간메모리
1277749quanduongxuan12Gap (APIO16_gap)C++20
컴파일 에러
0 ms0 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; #define name "gap" #define MAXN 100005 #define pb push_back #define pf push_front #define ll long long #define ii pair<int, int> #define fs first #define sc second #define ill pair<int, ll> #define lli pair<ll, int> #define llll pair<ll, ll> #define all(v) v.begin(),v.end() #define uni(v) v.erase(unique(all(v)),v.end()) #define bit(n,i) (((n)>>(i))&1) #define FOR(i,a,b) for (int i=(a),_b=(b); i<=_b; i++) #define FORD(i,a,b) for (int i=(a),_b=(b); i>=_b; i--) #define MASK(i) (1LL<<(i)) const ll INF=1e18; const int MOD=1e9+7; void add(int &u, int v){ u+=v; if (u>=MOD) u-=MOD; } void sub(int &u, int v){ u-=v; if (u<0) u+=MOD; } void minimize(int &u, int v){ u=min(u,v); } void maximize(ll &u, ll v){ u=max(u,v); } long long Rand(long long l, long long r){ ll tmp=0; FOR(i,1,4) tmp=((tmp<<15)^(((1<<15)-1)&rand())); return l+tmp%(r-l+1); } int n; ll a[MAXN]; ll findGap(int T, int N){ n=N; if (T==1){ ll kq=0; vector<ll> vec; ll l=0,r=INF; while (l<=r){ MinMax(l,r,l,r); if (l==-1) break; vec.pb(l); if (r!=l) vec.pb(r); ++l; --r; } sort(all(vec)); FOR(i,0,n-2){ maximize(kq,vec[i+1]-vec[i]); } return kq; } ll l=0,r=INF; MinMax(l,r,l,r); if (n==2) return r-l; ll d=(r-l-1)%(n-2)==0?(r-l-1)/(n-2):(r-l-1)/(n-2)+1; ll res=0; ll u,v; ll x=l+1; FOR(i,1,n-2){ MinMax(x,x+d-1,u,v); //cout<<x<<" "<<x+d-1<<" "<<u<<" "<<v<<"\n"; maximize(res,u-l); l=max(l,v); x+=d; } maximize(res,r-l); return res; }

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

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:52:24: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   52 |             MinMax(l,r,l,r);
      |                        ^
      |                        |
      |                        long long int
In file included from gap.cpp:1:
gap.h:1:35: note:   initializing argument 3 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                   ^~~~~~~~~~
gap.cpp:52:26: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   52 |             MinMax(l,r,l,r);
      |                          ^
      |                          |
      |                          long long int
gap.h:1:47: note:   initializing argument 4 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                               ^~~~~~~~~~
gap.cpp:66:16: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   66 |     MinMax(l,r,l,r);
      |                ^
      |                |
      |                long long int
gap.h:1:35: note:   initializing argument 3 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                   ^~~~~~~~~~
gap.cpp:66:18: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   66 |     MinMax(l,r,l,r);
      |                  ^
      |                  |
      |                  long long int
gap.h:1:47: note:   initializing argument 4 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                               ^~~~~~~~~~
gap.cpp:73:24: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   73 |         MinMax(x,x+d-1,u,v);
      |                        ^
      |                        |
      |                        long long int
gap.h:1:35: note:   initializing argument 3 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                   ^~~~~~~~~~
gap.cpp:73:26: error: invalid conversion from 'long long int' to 'long long int*' [-fpermissive]
   73 |         MinMax(x,x+d-1,u,v);
      |                          ^
      |                          |
      |                          long long int
gap.h:1:47: note:   initializing argument 4 of 'void MinMax(long long int, long long int, long long int*, long long int*)'
    1 | void MinMax(long long, long long, long long*, long long*);
      |                                               ^~~~~~~~~~