답안 #23532

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
23532 2017-05-12T13:00:38 Z repeating Gap (APIO16_gap) C++11
30 / 100
2000 ms 9120 KB
#include <bits/stdc++.h>
#define F first
#define S second
#define P push
#define pb push_back
#define MEM(dp,i) memset(dp,i,sizeof(dp))
#define W while
#define R return
#define C continue
#define SI size()
#define ll long long
#define pll pair<ll,ll>
#define SF(x) scanf("%I64d",&x)

using namespace std;
const long long INF = 2e9;
long long MOD = 1e9+7;
void MinMax(ll ,ll ,ll *,ll *);
long long findGap(int ,int );
ll a[300006];
vector<pll> v[3];
vector<ll> arr;
long long findGap(int t,int n){
    if(t==1){
        ll l=0,r=1e18;
        ll res=0;
        ll i=0,j=n-1;
        W(i<=j){
            MinMax(l,r,&l,&r);
            a[i]=l;
            a[j]=r;
            r--,l++;
            i++,j--;
        }
        for(int i=1;i<n;i++)res=max(res,a[i]-a[i-1]);
        R res;
    }
    else{
        v[0].pb({0,1e18});
        ll cur=0;
        W(!v[cur].empty()){
            ll sum=0;
            for(int i=0;i<v[cur].SI;i++){
                sum+=v[cur][i].S-v[cur][i].F+1;
            }
            ll len=sum/10000000;
            ll i;
            ll mx,mn;
            W(!v[cur].empty()){
                i=v[cur].SI-1;
                for(ll j=v[cur][i].F;i<=v[cur][i].S;j+=len){
                    MinMax(j,min(j+len-1,v[cur][i].S),&mn,&mx);
                    if(mn==-1)C;
                    arr.pb(mn);
                    if(mx!=mn)arr.pb(mx);
                    if(mn!=mx)v[cur^1].pb({mn+1,mx-1});
                }
            }
            cur^=1;
        }
        ll res=0;
        sort(arr.begin(),arr.end());
        for(int i=1;i<arr.SI;i++){
            res=max(res,arr[i]-arr[i-1]);
        }
        R res;
    }
}
//int main(){
//    cout<<findGap(1,4);
//}
//void MinMax(ll s,ll t,ll *mn,ll *mx){
//    cout<<s<<" "<<t<<endl;
//    cin>>*mn>>*mx;
//}

Compilation message

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:43:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int i=0;i<v[cur].SI;i++){
                          ^
gap.cpp:63:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=1;i<arr.SI;i++){
                      ^
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 7492 KB Output is correct
2 Correct 0 ms 7492 KB Output is correct
3 Correct 0 ms 7492 KB Output is correct
4 Correct 0 ms 7492 KB Output is correct
5 Correct 0 ms 7492 KB Output is correct
6 Correct 0 ms 7492 KB Output is correct
7 Correct 0 ms 7492 KB Output is correct
8 Correct 0 ms 7492 KB Output is correct
9 Correct 0 ms 7492 KB Output is correct
10 Correct 0 ms 7492 KB Output is correct
11 Correct 0 ms 7492 KB Output is correct
12 Correct 0 ms 7492 KB Output is correct
13 Correct 0 ms 7492 KB Output is correct
14 Correct 0 ms 7492 KB Output is correct
15 Correct 0 ms 7492 KB Output is correct
16 Correct 13 ms 7492 KB Output is correct
17 Correct 13 ms 7492 KB Output is correct
18 Correct 13 ms 7492 KB Output is correct
19 Correct 13 ms 7492 KB Output is correct
20 Correct 6 ms 7492 KB Output is correct
21 Correct 53 ms 7492 KB Output is correct
22 Correct 63 ms 7492 KB Output is correct
23 Correct 56 ms 7492 KB Output is correct
24 Correct 66 ms 7492 KB Output is correct
25 Correct 53 ms 7492 KB Output is correct
26 Correct 56 ms 7492 KB Output is correct
27 Correct 56 ms 7492 KB Output is correct
28 Correct 66 ms 7492 KB Output is correct
29 Correct 63 ms 7492 KB Output is correct
30 Correct 33 ms 7492 KB Output is correct
31 Correct 0 ms 7492 KB Output is correct
32 Correct 0 ms 7492 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 249 ms 7492 KB Unexpected end of file - int64 expected
2 Incorrect 513 ms 7492 KB Unexpected end of file - int64 expected
3 Incorrect 496 ms 7492 KB Unexpected end of file - int64 expected
4 Incorrect 503 ms 7492 KB Unexpected end of file - int64 expected
5 Incorrect 499 ms 7492 KB Unexpected end of file - int64 expected
6 Incorrect 866 ms 7492 KB Unexpected end of file - int64 expected
7 Incorrect 769 ms 7492 KB Unexpected end of file - int64 expected
8 Incorrect 786 ms 7492 KB Unexpected end of file - int64 expected
9 Incorrect 769 ms 7492 KB Unexpected end of file - int64 expected
10 Incorrect 726 ms 7492 KB Unexpected end of file - int64 expected
11 Incorrect 1269 ms 7492 KB Unexpected end of file - int64 expected
12 Incorrect 1189 ms 7492 KB Unexpected end of file - int64 expected
13 Incorrect 1183 ms 7492 KB Unexpected end of file - int64 expected
14 Incorrect 1209 ms 7492 KB Unexpected end of file - int64 expected
15 Incorrect 1056 ms 7492 KB Unexpected end of file - int64 expected
16 Incorrect 1676 ms 7964 KB Unexpected end of file - int64 expected
17 Incorrect 1739 ms 7964 KB Unexpected end of file - int64 expected
18 Incorrect 1689 ms 7964 KB Unexpected end of file - int64 expected
19 Incorrect 1763 ms 7964 KB Unexpected end of file - int64 expected
20 Incorrect 1696 ms 7492 KB Unexpected end of file - int64 expected
21 Incorrect 1959 ms 9120 KB Unexpected end of file - int64 expected
22 Execution timed out 2000 ms 9120 KB Execution timed out
23 Execution timed out 2000 ms 9120 KB Execution timed out
24 Incorrect 1969 ms 9120 KB Unexpected end of file - int64 expected
25 Execution timed out 2000 ms 7492 KB Execution timed out
26 Execution timed out 2000 ms 9120 KB Execution timed out
27 Incorrect 1903 ms 9120 KB Unexpected end of file - int64 expected
28 Incorrect 1919 ms 9120 KB Unexpected end of file - int64 expected
29 Incorrect 1903 ms 9116 KB Unexpected end of file - int64 expected
30 Execution timed out 2000 ms 7492 KB Execution timed out
31 Incorrect 703 ms 7492 KB Unexpected end of file - int64 expected
32 Incorrect 716 ms 7492 KB Unexpected end of file - int64 expected