QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#596529 | #9417. Palindromic Polygon | ucup-team112# | AC ✓ | 532ms | 19192kb | C++20 | 16.4kb | 2024-09-28 15:57:55 | 2024-09-28 15:57:58 |
Judging History
answer
//#define _GLIBCXX_DEBUG
//#pragma GCC target("avx2")
//#pragma GCC optimize("O3")
//#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include <debug_print.hpp>
#define OUT(...) debug_print::multi_print(#__VA_ARGS__, __VA_ARGS__)
#else
#define OUT(...) (static_cast<void>(0))
#endif
#define endl '\n'
#define lfs cout<<fixed<<setprecision(15)
#define ALL(a) (a).begin(),(a).end()
#define ALLR(a) (a).rbegin(),(a).rend()
#define UNIQUE(a) (a).erase(unique((a).begin(),(a).end()),(a).end())
#define spa << " " <<
#define fi first
#define se second
#define MP make_pair
#define MT make_tuple
#define PB push_back
#define EB emplace_back
#define rep(i,n,m) for(ll i = (n); i < (ll)(m); i++)
#define rrep(i,n,m) for(ll i = (ll)(m) - 1; i >= (ll)(n); i--)
namespace template_tute{
using ll = long long;
using ld = long double;
const ll MOD1 = 1e9+7;
const ll MOD9 = 998244353;
const ll INF = 1e18;
using P = pair<ll, ll>;
template<typename T> using PQ = priority_queue<T>;
template<typename T> using QP = priority_queue<T,vector<T>,greater<T>>;
template<typename T1, typename T2>bool chmin(T1 &a,T2 b){if(a>b){a=b;return true;}else return false;}
template<typename T1, typename T2>bool chmax(T1 &a,T2 b){if(a<b){a=b;return true;}else return false;}
ll median(ll a,ll b, ll c){return a+b+c-max<ll>({a,b,c})-min<ll>({a,b,c});}
void ans1(bool x){if(x) cout<<"Yes"<<endl;else cout<<"No"<<endl;}
void ans2(bool x){if(x) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
void ans3(bool x){if(x) cout<<"Yay!"<<endl;else cout<<":("<<endl;}
template<typename T1,typename T2>void ans(bool x,T1 y,T2 z){if(x)cout<<y<<endl;else cout<<z<<endl;}
template<typename T1,typename T2,typename T3>void anss(T1 x,T2 y,T3 z){ans(x!=y,x,z);};
template<typename T>void debug(const T &v,ll h,ll w,string sv=" "){for(ll i=0;i<h;i++){cout<<v[i][0];for(ll j=1;j<w;j++)cout<<sv<<v[i][j];cout<<endl;}};
template<typename T>void debug(const T &v,ll n,string sv=" "){if(n!=0)cout<<v[0];for(ll i=1;i<n;i++)cout<<sv<<v[i];cout<<endl;};
template<typename T>void debug(const vector<T>&v){debug(v,v.size());}
template<typename T>void debug(const vector<vector<T>>&v){for(auto &vv:v)debug(vv,vv.size());}
template<typename T>void debug(stack<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(queue<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(deque<T> st){while(!st.empty()){cout<<st.front()<<" ";st.pop_front();}cout<<endl;}
template<typename T>void debug(PQ<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(QP<T> st){while(!st.empty()){cout<<st.top()<<" ";st.pop();}cout<<endl;}
template<typename T>void debug(const set<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
template<typename T>void debug(const multiset<T>&v){for(auto z:v)cout<<z<<" ";cout<<endl;}
template<typename T,size_t size>void debug(const array<T, size> &a){for(auto z:a)cout<<z<<" ";cout<<endl;}
template<typename T,typename V>void debug(const map<T,V>&v){for(auto z:v)cout<<"["<<z.first<<"]="<<z.second<<",";cout<<endl;}
template<typename T>vector<vector<T>>vec(ll x, ll y, T w){vector<vector<T>>v(x,vector<T>(y,w));return v;}
vector<ll>dx={1,-1,0,0,1,1,-1,-1};vector<ll>dy={0,0,1,-1,1,-1,1,-1};
template<typename T>vector<T> make_v(size_t a,T b){return vector<T>(a,b);}
template<typename... Ts>auto make_v(size_t a,Ts... ts){return vector<decltype(make_v(ts...))>(a,make_v(ts...));}
template<typename T1, typename T2>ostream &operator<<(ostream &os, const pair<T1, T2>&p){return os << "(" << p.first << "," << p.second << ")";}
template<typename T>ostream &operator<<(ostream &os, const vector<T> &v){os<<"[";for(auto &z:v)os << z << ",";os<<"]"; return os;}
template<typename T>void rearrange(vector<int>&ord, vector<T>&v){
auto tmp = v;
for(int i=0;i<tmp.size();i++)v[i] = tmp[ord[i]];
}
template<typename Head, typename... Tail>void rearrange(vector<int>&ord,Head&& head, Tail&&... tail){
rearrange(ord, head);
rearrange(ord, tail...);
}
template<typename T> vector<int> ascend(const vector<T>&v){
vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],i)<make_pair(v[j],j);});
return ord;
}
template<typename T> vector<int> descend(const vector<T>&v){
vector<int>ord(v.size());iota(ord.begin(),ord.end(),0);
sort(ord.begin(),ord.end(),[&](int i,int j){return make_pair(v[i],-i)>make_pair(v[j],-j);});
return ord;
}
template<typename T> vector<T> inv_perm(const vector<T>&ord){
vector<T>inv(ord.size());
for(int i=0;i<ord.size();i++)inv[ord[i]] = i;
return inv;
}
ll FLOOR(ll n,ll div){assert(div>0);return n>=0?n/div:(n-div+1)/div;}
ll CEIL(ll n,ll div){assert(div>0);return n>=0?(n+div-1)/div:n/div;}
ll digitsum(ll n){ll ret=0;while(n){ret+=n%10;n/=10;}return ret;}
ll modulo(ll n,ll d){return (n%d+d)%d;};
template<typename T>T min(const vector<T>&v){return *min_element(v.begin(),v.end());}
template<typename T>T max(const vector<T>&v){return *max_element(v.begin(),v.end());}
template<typename T>T acc(const vector<T>&v){return accumulate(v.begin(),v.end(),T(0));};
template<typename T>T reverse(const T &v){return T(v.rbegin(),v.rend());};
//mt19937 mt(chrono::steady_clock::now().time_since_epoch().count());
int popcount(ll x){return __builtin_popcountll(x);};
int poplow(ll x){return __builtin_ctzll(x);};
int pophigh(ll x){return 63 - __builtin_clzll(x);};
template<typename T>T poll(queue<T> &q){auto ret=q.front();q.pop();return ret;};
template<typename T>T poll(priority_queue<T> &q){auto ret=q.top();q.pop();return ret;};
template<typename T>T poll(QP<T> &q){auto ret=q.top();q.pop();return ret;};
template<typename T>T poll(stack<T> &s){auto ret=s.top();s.pop();return ret;};
ll MULT(ll x,ll y){if(LLONG_MAX/x<=y)return LLONG_MAX;return x*y;}
ll POW2(ll x, ll k){ll ret=1,mul=x;while(k){if(mul==LLONG_MAX)return LLONG_MAX;if(k&1)ret=MULT(ret,mul);mul=MULT(mul,mul);k>>=1;}return ret;}
ll POW(ll x, ll k){ll ret=1;for(int i=0;i<k;i++){if(LLONG_MAX/x<=ret)return LLONG_MAX;ret*=x;}return ret;}
std::ostream &operator<<(std::ostream &dest, __int128_t value) {
std::ostream::sentry s(dest);
if (s) {
__uint128_t tmp = value < 0 ? -value : value;
char buffer[128];
char *d = std::end(buffer);
do {
--d;
*d = "0123456789"[tmp % 10];
tmp /= 10;
} while (tmp != 0);
if (value < 0) {
--d;
*d = '-';
}
int len = std::end(buffer) - d;
if (dest.rdbuf()->sputn(d, len) != len) {
dest.setstate(std::ios_base::badbit);
}
}
return dest;
}
namespace converter{
int dict[500];
const string lower="abcdefghijklmnopqrstuvwxyz";
const string upper="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
const string digit="0123456789";
const string digit1="123456789";
void regi_str(const string &t){
for(int i=0;i<t.size();i++){
dict[t[i]]=i;
}
}
void regi_int(const string &t){
for(int i=0;i<t.size();i++){
dict[i]=t[i];
}
}
vector<int>to_int(const string &s,const string &t){
regi_str(t);
vector<int>ret(s.size());
for(int i=0;i<s.size();i++){
ret[i]=dict[s[i]];
}
return ret;
}
vector<int>to_int(const string &s){
auto t=s;
sort(t.begin(),t.end());
t.erase(unique(t.begin(),t.end()),t.end());
return to_int(s,t);
}
vector<vector<int>>to_int(const vector<string>&s,const string &t){
regi_str(t);
vector<vector<int>>ret(s.size(),vector<int>(s[0].size()));
for(int i=0;i<s.size();i++){
for(int j=0;j<s[0].size();j++){
ret[i][j]=dict[s[i][j]];
}
}
return ret;
}
vector<vector<int>>to_int(const vector<string>&s){
string t;
for(int i=0;i<s.size();i++){
t+=s[i];
}
sort(t.begin(),t.end());t.erase(unique(t.begin(),t.end()),t.end());
return to_int(s,t);
}
string to_str(const vector<int>&s,const string &t){
regi_int(t);
string ret;
for(auto z:s)ret+=dict[z];
return ret;
}
vector<string> to_str(const vector<vector<int>>&s,const string &t){
regi_int(t);
vector<string>ret(s.size());
for(int i=0;i<s.size();i++){
for(auto z:s[i])ret[i]+=dict[z];
}
return ret;
}
}
template< typename T = int >
struct edge {
int to;
T cost;
int id;
edge():to(-1),id(-1){};
edge(int to, T cost = 1, int id = -1):to(to), cost(cost), id(id){}
operator int() const { return to; }
};
template<typename T>
using Graph = vector<vector<edge<T>>>;
template<typename T>
Graph<T>revgraph(const Graph<T> &g){
Graph<T>ret(g.size());
for(int i=0;i<g.size();i++){
for(auto e:g[i]){
int to = e.to;
e.to = i;
ret[to].push_back(e);
}
}
return ret;
}
template<typename T>
Graph<T> readGraph(int n,int m,int indexed=1,bool directed=false,bool weighted=false){
Graph<T> ret(n);
for(int es = 0; es < m; es++){
int u,v;
T w=1;
cin>>u>>v;u-=indexed,v-=indexed;
if(weighted)cin>>w;
ret[u].emplace_back(v,w,es);
if(!directed)ret[v].emplace_back(u,w,es);
}
return ret;
}
template<typename T>
Graph<T> readParent(int n,int indexed=1,bool directed=true){
Graph<T>ret(n);
for(int i=1;i<n;i++){
int p;cin>>p;
p-=indexed;
ret[p].emplace_back(i);
if(!directed)ret[i].emplace_back(p);
}
return ret;
}
}
using namespace template_tute;
using I = long long;
struct Point{
I x, y;
Point(): x(0), y(0){}
Point(I x,I y):x(x),y(y){}
Point &operator+=(const Point &p){
x += p.x, y += p.y;
return *this;
}
Point &operator-=(const Point &p){
x -= p.x, y -= p.y;
return *this;
}
Point &operator*=(I v){
x *= v, y *= v;
return *this;
}
Point &operator/=(I v){
assert(x % v == 0 && y % v == 0);
x /= v, y /= v;
return *this;
}
friend Point operator+(const Point &l, const Point &r){
return Point(l) += r;
}
friend Point operator-(const Point &l, const Point &r){
return Point(l) -= r;
}
friend Point operator*(const Point &l, I r){
return Point(l) *= r;
}
friend Point operator/(const Point &l, I r){
return Point(l) /= r;
}
bool operator<(const Point &p)const{
if(x == p.x)return y < p.y;
return x < p.x;
}
bool operator>(const Point &p) const{
if(x == p.x)return y > p.y;
return x > p.x;
}
bool operator==(const Point &p)const{return x == p.x && y == p.y;}
bool operator!=(const Point &p)const{return x != p.x || y != p.y;}
friend ostream &operator<<(ostream &os, const Point &p) {
return os << "(" << p.x << "," << p.y << ")";
}
friend istream &operator>>(istream &is, Point &p) {
is >> p.x >> p.y;
return (is);
}
};
struct Line{
Point a,b;
Line() = default;
Line(Point a, Point b) : a(a), b(b){}
};
I norm(const Point &p){
return p.x * p.x + p.y * p.y;
}
I dot(const Point &a, const Point &b){
return a.x * b.x + a.y * b.y;
}
I cross(const Point &a, const Point &b){
return a.x * b.y - a.y * b.x;
}
I distance(const Point &a, const Point &b){
return norm(a - b);
}
I area(const Point &a,const Point &b,const Point &c){
return abs(cross(b-a,c-a));
}
constexpr int COUNTER_CLOCKWISE = +1;
constexpr int CLOCKWISE = -1;
constexpr int ONLINE_BACK = +2; // c-a-b
constexpr int ONLINE_FRONT = -2; // a-b-c
constexpr int ON_SEGMENT = 0; // a-c-b
int ccw(const Point &a, Point b, Point c) {
b = b - a, c = c - a;
if(cross(b, c) > 0) return COUNTER_CLOCKWISE;
if(cross(b, c) < 0) return CLOCKWISE;
if(dot(b, c) < 0) return ONLINE_BACK;
if(norm(b) < norm(c)) return ONLINE_FRONT;
return ON_SEGMENT;
}
bool parallel(const Line &a, const Line &b){
return cross(a.b - a.a, b.b - b.a) == 0;
}
bool orthogonal(const Line &a, const Line &b){
return dot(a.a - a.b, b.a - b.b) == 0;
}
bool argument_compare(Point a, Point b){
if(a.x == 0 && a.y == 0)a.x = 1;
if(b.x == 0 && b.y == 0)b.x = 1;
if(a.y < 0 && b.y >= 0){
return true;
}
else if(a.y >= 0 && b.y < 0){
return false;
}
else if(a.y == 0 && b.y == 0){
return a.x >= 0 && b.x < 0;
}
return cross(a, b) > 0;
}
vector<Point>convex_hull(const vector<Point>&points, bool onEdge = false){
int n = points.size(), k = 0;
auto p = points;
const I limit = onEdge ? 0 : 1;
if(n <= 2)return p;
sort(p.begin(), p.end());
vector<Point> ch(2 * n);
for(int i = 0; i < n; ch[k++] = p[i++]) {
while(k >= 2 && cross(ch[k - 1] - ch[k - 2], p[i] - ch[k - 1]) < limit) --k;
}
for(int i = n - 2, t = k + 1; i >= 0; ch[k++] = p[i--]) {
while(k >= t && cross(ch[k - 1] - ch[k - 2], p[i] - ch[k - 1]) < limit) --k;
}
ch.resize(k - 1);
return ch;
}
vector<Point>lower_convex_hull(const vector<Point>&points, bool onEdge = false){
int n = points.size(), k = 0;
auto p = points;
const I limit = onEdge ? 0 : 1;
if(n <= 2)return p;
sort(p.begin(), p.end());
vector<Point> ch(2 * n);
for(int i = 0; i < n; ch[k++] = p[i++]) {
while(k >= 2 && cross(ch[k - 1] - ch[k - 2], p[i] - ch[k - 1]) < limit) --k;
}
ch.resize(k);
return ch;
}
//各b_jに対して、cross(a_i,b_j)の最大値を求める
vector<I>get_cross_max(vector<Point>a,vector<Point>b){
a = convex_hull(a, false);
vector<int>ord(b.size());
iota(ord.begin(),ord.end(),0);
sort(ord.begin(),ord.end(),[&](int i,int j){return argument_compare(b[i],b[j]);});
vector<I>ret(b.size());
if(norm(b[ord[0]]) == 0 && norm(b[ord.back()]) == 0){
return ret;
}
int start = 0;
while(norm(b[ord[start]]) == 0)start++;
int max_arg = 0;
for(int i = 1; i < a.size(); i++){
if(cross(a[max_arg], b[ord[start]]) < cross(a[i], b[ord[start]])){
max_arg = i;
}
}
for(auto i:ord){
while(1){
I c0 = cross(a[(max_arg == 0 ? a.size() - 1 : max_arg - 1)],b[i]);
I c1 = cross(a[max_arg],b[i]);
I c2 = cross(a[(max_arg == a.size() - 1 ? 0 : max_arg + 1)],b[i]);
if(c0 <= c1 && c1 >= c2)break;
max_arg++;
if(max_arg >= a.size())max_arg -= a.size();
}
ret[i] = cross(a[max_arg], b[i]);
}
return ret;
}
vector<I>get_cross_min(vector<Point>a,vector<Point>b){
for(auto &p:b)p *= -1;
auto ret = get_cross_max(a, b);
for(auto &r:ret)r *= -1;
return ret;
}
vector<I>get_dot_max(vector<Point>a,vector<Point>b){
for(auto &p:b){
p = Point(-p.y, p.x);
}
auto ret=get_cross_max(a,b);
return ret;
}
// 多角形と点の包含判定
enum {
OUT, ON, IN
};
using Polygon=vector<Point>;
int contains(const Polygon &Q, const Point &p) {
bool in = false;
for(int i = 0; i < Q.size(); i++) {
Point a = Q[i] - p, b = Q[(i + 1) % Q.size()] - p;
if(a.y > b.y) swap(a, b);
if(a.y <= 0 && 0 < b.y && cross(a, b) < 0) in = !in;
if(cross(a, b) == 0 && dot(a, b) <= 0) return ON;
}
return in ? IN : OUT;
}
bool segment_intersect(const Line &s, const Line &t) {
return ccw(s.a, s.b, t.a) * ccw(s.a, s.b, t.b) <= 0 && ccw(t.a, t.b, s.a) * ccw(t.a, t.b, s.b) <= 0;
}
bool segmnent_point_intersect(const Line &s, const Point &p) {
return ccw(s.a, s.b, p) == 0;
}
void solve(){
ll res=0,buf=0;
bool judge = true;
ll n;cin>>n;
vector<ll>f(n);
rep(i,0,n)cin>>f[i];
vector<Point>p(n);
rep(i,0,n)cin>>p[i];
f.insert(f.end(),ALL(f));
p.insert(p.end(),ALL(p));
auto ldp=vec(2*n,2*n,-INF);
auto rdp=vec(2*n,2*n,-INF);
rrep(l,0,2*n)rep(r,l,2*n){
if(r-l>=n)continue;
if(f[l]==f[r]){
chmax(ldp[l][r],0);
chmax(res,ldp[l][r]);
rrep(nl,0,l){
if(r-nl>=n)break;
chmax(rdp[nl][r],ldp[l][r]+area(p[nl],p[l],p[r]));
}
}
rep(nr,r+1,2*n){
if(nr-l>=n)break;
chmax(ldp[l][nr],rdp[l][r]+area(p[l],p[r],p[nr]));
}
}
cout<<res<<endl;
}
int main(){
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
ll res=0,buf=0;
bool judge = true;
int T = 1;
cin>>T;
while(T--){
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
详细
Test #1:
score: 100
Accepted
time: 1ms
memory: 3600kb
input:
3 8 2 4 2 4 3 4 5 3 2 3 0 6 -3 3 -3 0 -2 -3 1 -5 3 -3 4 0 3 1 2 3 0 0 1 0 0 1 3 1 1 1 0 0 1 0 0 1
output:
84 0 1
result:
ok 3 number(s): "84 0 1"
Test #2:
score: 0
Accepted
time: 1ms
memory: 3592kb
input:
1 4 1000000000 1000000000 1000000000 1000000000 -1000000000 -1000000000 1000000000 -1000000000 1000000000 1000000000 -1000000000 1000000000
output:
8000000000000000000
result:
ok 1 number(s): "8000000000000000000"
Test #3:
score: 0
Accepted
time: 0ms
memory: 3692kb
input:
129 10 604040473 604040473 287094217 682965575 70435786 287094217 604040473 287094217 682965575 92620053 -193 -184 -200 -200 -125 -169 -120 -157 -120 -145 -124 -139 -137 -136 -155 -149 -172 -163 -187 -177 5 346787871 346787871 113397429 113397429 346787871 -173 -181 -186 -166 -200 -195 -194 -200 -17...
output:
3857 1068 877 516 2668 3559 1165 3468 560 925 3502 696 3824 1746 2970 1826 613 2221 1130 4677 1900 1646 564 273 3203 6572 1070 3330 1024 765 142 3038 1615 9445 2122 320 1741 2561 1145 480 2094 5119 5458 2446 3929 2249 4378 4927 2356 1473 3152 1574 1990 1609 3367 2298 1459 2663 2617 2298 4048 215 546...
result:
ok 129 numbers
Test #4:
score: 0
Accepted
time: 1ms
memory: 3692kb
input:
135 5 1 1 2 113253381 2 -187 -200 -185 -199 -172 -161 -192 -163 -200 -181 6 2 1 558119535 2 681168219 1 -159 -157 -200 -181 -197 -188 -190 -200 -179 -187 -164 -169 9 330122537 1 43508877 1 330122537 2 43508877 43508877 2 -115 -171 -127 -160 -140 -158 -153 -161 -170 -166 -190 -181 -200 -200 -126 -197...
output:
1199 1019 4995 993 374 2202 5999 2738 1610 287 2402 2421 1968 2253 889 2109 3594 1369 660 3823 1039 779 1068 1961 793 4749 906 1528 834 1125 244 532 1943 999 2279 274 1928 1969 3195 4189 762 1266 1330 6496 550 1452 2392 5402 246 1504 1603 1190 2002 2010 3855 5341 1096 730 4077 1005 368 2383 2465 278...
result:
ok 135 numbers
Test #5:
score: 0
Accepted
time: 0ms
memory: 3616kb
input:
68 18 177729849 694994462 698865345 342457858 192803483 342457858 666388583 192803483 981906585 981906585 477960944 666388583 477960944 666388583 279990638 192803483 666388583 378306063 -247299689 -596018085 -257763469 -530664858 -307204843 -477869906 -830737754 -587840234 -915132692 -619194354 -100...
output:
454110023930570607 183756804328850070 298315022228123202 307512523943663260 356398611422117225 175693541183498183 85435294912017589 90055534959464621 470255288030458232 72285943569225582 93246116205839344 204734350926653941 181050899065321759 92595596931349298 252462643584630356 170478369910592368 2...
result:
ok 68 numbers
Test #6:
score: 0
Accepted
time: 2ms
memory: 3956kb
input:
68 17 4 5 364570994 3 364570994 922037103 1 2 1 3 4 922037103 348120378 922774606 2 5 348120378 -944527911 -585310186 -985388783 -648105509 -996957301 -724274531 -1000000000 -776231334 -987660458 -849026993 -956240043 -910614062 -921236523 -949464303 -824975533 -1000000000 -758560856 -997163831 -685...
output:
283257114140518651 196218877050842110 222494863055424896 205446281561853782 250005106663316430 97542520284278361 366125469664341547 45201313979184996 302406140775158311 273846619401894473 114076427182578290 296093289576963628 314427730122999682 275016401751244176 113458042513568150 65331043997675878...
result:
ok 68 numbers
Test #7:
score: 0
Accepted
time: 61ms
memory: 5912kb
input:
5 200 609999526 472639833 217024831 181719265 607443350 247865634 182637039 952698029 667998662 552937384 309920961 395554742 529168804 633125523 572946770 964103704 809297865 675769477 8628527 954614525 607443350 402709616 933276333 156118214 382882490 982120770 8449875 613209070 635469591 90592427...
output:
26672937937698 21734491556698 26790824844133 30739464810342 25766825658360
result:
ok 5 number(s): "26672937937698 21734491556698 ...3 30739464810342 25766825658360"
Test #8:
score: 0
Accepted
time: 57ms
memory: 5856kb
input:
5 200 492204292 199500284 956414792 947905664 397147741 584603063 477504704 67732501 947905664 168522928 23355651 717940721 618420996 23355651 850784605 928119758 717940721 375517624 745458203 790993066 558764624 889247289 690761448 654316570 720267356 380473009 294135686 730680716 871352642 7131338...
output:
25179077707847 24610803287778 27879482074960 26586509092648 23860637721112
result:
ok 5 number(s): "25179077707847 24610803287778 ...0 26586509092648 23860637721112"
Test #9:
score: 0
Accepted
time: 60ms
memory: 5872kb
input:
5 200 84 35 20 33 36 78 24 47 5 18 90 100 48 99 17 86 92 42 22 22 91 15 16 34 61 2 52 72 31 71 24 67 10 64 72 81 56 47 34 58 75 46 59 85 27 14 14 83 30 42 13 89 38 52 51 66 44 51 62 41 28 40 12 79 23 56 81 8 60 69 65 68 26 96 55 68 46 70 1 21 84 44 62 4 23 99 69 18 35 54 37 19 39 93 48 8 43 53 16 93...
output:
25742598865692 23940201061139 21774320032543 29925923291252 25943299932354
result:
ok 5 number(s): "25742598865692 23940201061139 ...3 29925923291252 25943299932354"
Test #10:
score: 0
Accepted
time: 60ms
memory: 5840kb
input:
5 200 30 1 9 6 855627481 44 807240211 19 328678825 43 2 611193007 21 1 17357465 777452512 296168618 293501368 41887972 16 460434285 25 17 2 820070575 32 49 11 50 7 876136756 48 167436795 18 44 9 32 34 492450178 92584206 117799001 753835505 447351438 293501368 14 45 17357465 47 419370691 820070575 8 ...
output:
25588520303771 24556295312210 22684955350359 25702614992989 26005004619374
result:
ok 5 number(s): "25588520303771 24556295312210 ...9 25702614992989 26005004619374"
Test #11:
score: 0
Accepted
time: 59ms
memory: 5876kb
input:
5 200 8 870822545 888011437 384726727 366602674 888011437 384726727 384726727 366602674 870822545 870822545 384726727 651014332 10 888011437 411902203 611980057 910184732 411902203 651014332 411902203 723545326 5 3 319317853 476997146 910184732 8 888011437 651014332 611980057 7 611980057 910184732 5...
output:
26138916026487 24620851403857 25071187076679 25469429774328 30775803237893
result:
ok 5 number(s): "26138916026487 24620851403857 ...9 25469429774328 30775803237893"
Test #12:
score: 0
Accepted
time: 73ms
memory: 5828kb
input:
5 200 817980653 817980653 125172097 125172097 817980653 163615641 163615641 817980653 817980653 668379506 817980653 125172097 163615641 163615641 125172097 125172097 125172097 125172097 668379506 817980653 817980653 163615641 817980653 817980653 817980653 817980653 817980653 163615641 163615641 6683...
output:
26176012030413 25187907268116 26211235264533 24618377847566 26109975005241
result:
ok 5 number(s): "26176012030413 25187907268116 ...3 24618377847566 26109975005241"
Test #13:
score: 0
Accepted
time: 86ms
memory: 5996kb
input:
5 200 212397750 992618221 212397750 992618221 992618221 212397750 992618221 992618221 992618221 992618221 992618221 212397750 2 992618221 992618221 992618221 212397750 212397750 992618221 212397750 212397750 992618221 212397750 212397750 992618221 992618221 992618221 992618221 212397750 212397750 21...
output:
24420005315074 25336424651447 23383079383207 25959789505886 25582059787979
result:
ok 5 number(s): "24420005315074 25336424651447 ...7 25959789505886 25582059787979"
Test #14:
score: 0
Accepted
time: 326ms
memory: 19044kb
input:
2 500 250285849 580799867 401195916 661392649 274956707 428122906 643570314 597693323 592665916 548828299 95425938 535055216 384703504 881144262 438319718 745176673 592665916 880144539 422267581 531703035 896349921 462725647 550924100 68263737 86309277 974901795 379678136 311335012 808714258 8693175...
output:
148932394479904 154174289817183
result:
ok 2 number(s): "148932394479904 154174289817183"
Test #15:
score: 0
Accepted
time: 330ms
memory: 19116kb
input:
2 500 949563149 328612154 460785000 575821013 653281828 795841469 254532165 949563149 201859963 321853857 543557486 260875897 615307892 283709631 56492240 73771155 907703161 246563892 962285534 213433892 254428673 378181126 231227997 916759825 389322999 543557486 254428673 382216426 520489024 415367...
output:
152920875589467 146994747277368
result:
ok 2 number(s): "152920875589467 146994747277368"
Test #16:
score: 0
Accepted
time: 326ms
memory: 19040kb
input:
2 500 199 123 12 243 208 167 191 187 212 45 214 160 29 209 154 102 124 140 155 90 119 47 214 171 103 200 165 16 198 231 202 145 19 176 40 193 183 50 212 28 105 238 177 179 127 116 204 67 243 149 93 23 222 116 200 38 149 174 169 219 122 153 92 216 8 67 58 181 185 232 138 189 133 59 72 210 106 111 30 ...
output:
166697813512230 163068164683089
result:
ok 2 number(s): "166697813512230 163068164683089"
Test #17:
score: 0
Accepted
time: 332ms
memory: 19192kb
input:
2 500 47 873285980 79 849771068 74 1 44 94 120 19 200446046 77 11 22 17 34 72 538801034 972859531 26 86 773234986 43 65 189731974 213731477 665326879 74 8 99 16 501881943 256119516 4 81 5 94 392347711 213731477 13 172643627 91 82 733662021 14 125 60 20 121 154440980 463976233 690756841 208950480 122...
output:
173330999736669 152174681452318
result:
ok 2 number(s): "173330999736669 152174681452318"
Test #18:
score: 0
Accepted
time: 333ms
memory: 19012kb
input:
2 500 540767236 963353518 561314711 81529695 7 922697634 919109514 767431537 478297881 493445298 63090798 406478570 11 55 32 56 162788153 401080796 432220145 919109514 52 56 41 23 120695251 54 561314711 493445298 705279452 358783590 509626765 182281030 614041703 44261929 681696090 561314711 16278815...
output:
159663591152060 158072356086552
result:
ok 2 number(s): "159663591152060 158072356086552"
Test #19:
score: 0
Accepted
time: 346ms
memory: 19028kb
input:
2 500 266649322 682547799 808972918 596605297 217916121 107173579 413534051 217916121 934948565 27 422367079 422367079 217916121 87875810 87875810 413534051 13 169854310 202383590 314937934 283020826 632112772 986212611 169854310 87875810 596605297 19 808972918 836612378 733968754 733968754 63211277...
output:
169410553734380 165802983119455
result:
ok 2 number(s): "169410553734380 165802983119455"
Test #20:
score: 0
Accepted
time: 360ms
memory: 19192kb
input:
2 500 583670485 13 2608273 847215851 556630050 554918196 732375307 272837728 899937572 2608273 732375307 554918196 732375307 847215851 3 856869545 272837728 554918196 847215851 7 2608273 847215851 317707407 899937572 554918196 583670485 879430504 2 965838562 847215851 879430504 272837728 556630050 8...
output:
158326373826089 150187630936592
result:
ok 2 number(s): "158326373826089 150187630936592"
Test #21:
score: 0
Accepted
time: 404ms
memory: 19192kb
input:
2 500 756582711 575924897 118687709 695386745 575924897 695386745 897710981 239579019 897710981 897710981 695386745 695386745 756582711 695386745 575924897 118687709 756582711 695386745 239579019 239579019 4 756582711 575924897 239579019 575924897 1 239579019 575924897 756582711 239579019 575924897 ...
output:
176833038255727 153234216106459
result:
ok 2 number(s): "176833038255727 153234216106459"
Test #22:
score: 0
Accepted
time: 532ms
memory: 19192kb
input:
2 500 270188663 76390750 76390750 270188663 270188663 76390750 76390750 270188663 76390750 270188663 76390750 76390750 76390750 270188663 270188663 76390750 76390750 270188663 270188663 270188663 76390750 270188663 270188663 270188663 270188663 270188663 76390750 270188663 270188663 270188663 270188...
output:
160330837189026 149529694641768
result:
ok 2 number(s): "160330837189026 149529694641768"
Extra Test:
score: 0
Extra Test Passed