Submission #107381

#TimeUsernameProblemLanguageResultExecution timeMemory
107381yamamayumi9489Gap (APIO16_gap)C++14
30 / 100
91 ms3820 KiB
#include<iostream> #include<utility> #include<string> #include<vector> #include<algorithm> #include<deque> #include<queue> #include<set> #include<map> #include<functional> using namespace std; #define LL long long #define ALF "ABCDEFGHIJKLMNOPQRSTUVWXYZ" #define LLBIG 1999999999999999999 #define INTBIG 1111111111 #define MOD 1000000007 #define PI pair<int,int> #define VI vector<int> #define VL vector<LL> #define VVI vector<vector<int>> #include"gap.h" //MinMax(int,int,int&,int&) long long findGap(int T, int N) { if (T == 1) { LL A[100002]; LL l = 0, r = 1000000000000000000LL; for (int i = 0; i<(N + 1) / 2; i++) { MinMax(l, r, &A[i], &A[N - 1 - i]); l = A[i] + 1; r = A[N - 1 - i] - 1; } LL ans = 0; for (int i = 0; i<N - 1; i++) ans = max(ans, A[i + 1] - A[i]); return ans; } else if (T == 2) { VL A; LL mn, mx; MinMax(0, 1000000000000000000, &mn, &mx); for (LL i = 0; i < N; i++) { LL a, b; LL l = mn + ((mx - mn + 1) / N) * i; LL r = mn + ((mx - mn + 1) / N) * (i + 1) - 1; MinMax(l, r, &a, &b); if (a != -1) { A.push_back(a); A.push_back(b); } } sort(A.begin(), A.end()); LL ans = 0; for (int i = 2; i < (int)A.size(); i += 2) ans = max(ans, A[i] - A[i - 1]); return ans; } else return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...