QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#595715 | #9434. Italian Cuisine | ucup-team112# | AC ✓ | 20ms | 4860kb | C++20 | 16.7kb | 2024-09-28 14:19:20 | 2024-09-28 14:19:24 |
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;
Point c;cin>>c;
ll cr;cin>>cr;
vector<Point>p(n);
rep(i,0,n)cin>>p[i];
ll ret=0;
ll now=0;
ll idx=0;
auto check=[&](Point s,Point t){
ll A=t.y-s.y;
ll B=-(t.x-s.x);
ll C=s.x*(s.y-t.y)+s.y*(t.x-s.x);
ll D=(A*c.x+B*c.y+C);
ll E=(A*A+B*B);
if(__int128_t(D)*D<__int128_t(cr)*cr*E){
return true;
}
if(ccw(s,t,c)<0)return true;
return false;
};
//OUT(check(p[1],p[2]));
rep(i,0,n){
chmax(idx,i+1);
if(check(p[i],p[idx%n])){
now-=area(p[i],p[(i+1)%n],p[idx%n]);
continue;
}
//OUT(i,idx);
while(idx<i+n-1){
if(!check(p[i],p[(idx+1)%n])){
now+=area(p[i],p[idx%n],p[(idx+1)%n]);
idx++;
}
else{
break;
}
}
//OUT(i,idx,now);
chmax(ret,now);
if(idx>i)now-=area(p[i],p[(i+1)%n],p[idx%n]);
}
cout<<ret<<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,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3688kb
input:
3 5 1 1 1 0 0 1 0 5 0 3 3 0 5 6 2 4 1 2 0 4 0 6 3 4 6 2 6 0 3 4 3 3 1 3 0 6 3 3 6 0 3
output:
5 24 0
result:
ok 3 number(s): "5 24 0"
Test #2:
score: 0
Accepted
time: 0ms
memory: 3588kb
input:
1 6 0 0 499999993 197878055 -535013568 696616963 -535013568 696616963 40162440 696616963 499999993 -499999993 499999993 -499999993 -535013568
output:
0
result:
ok 1 number(s): "0"
Test #3:
score: 0
Accepted
time: 14ms
memory: 3664kb
input:
6666 19 -142 -128 26 -172 -74 -188 -86 -199 -157 -200 -172 -199 -186 -195 -200 -175 -197 -161 -188 -144 -177 -127 -162 -107 -144 -90 -126 -87 -116 -86 -104 -89 -97 -108 -86 -125 -80 -142 -74 -162 -72 16 -161 -161 17 -165 -190 -157 -196 -154 -197 -144 -200 -132 -200 -128 -191 -120 -172 -123 -163 -138...
output:
5093 3086 2539 668 3535 7421 4883 5711 5624 1034 2479 3920 4372 2044 4996 5070 2251 4382 4175 1489 1154 3231 4038 1631 5086 14444 1692 6066 687 1512 4849 5456 2757 8341 8557 8235 1013 5203 10853 6042 6300 4480 2303 2728 1739 2187 3385 4266 6322 909 4334 1518 948 5036 1449 2376 3180 4810 1443 1786 47...
result:
ok 6666 numbers
Test #4:
score: 0
Accepted
time: 15ms
memory: 3660kb
input:
6660 19 -689502500 -712344644 121094647 -534017213 -493851833 -578925616 -506634533 -663335128 -540066520 -748890119 -585225068 -847722967 -641694086 -916653030 -716279342 -956235261 -766049951 -1000000000 -836145979 -963288744 -923225928 -948140134 -944751289 -920681768 -972760883 -872492254 -10000...
output:
117285633945667137 89094762176992129 84336379088082383 63629451600307531 193020267813347512 73921930794195237 59524748406448173 34419869321856821 207356845785317033 185783506654647921 80463327658075813 156569165998743736 129550296314602340 157065066097450631 77819745596643484 40796197589680466 11394...
result:
ok 6660 numbers
Test #5:
score: 0
Accepted
time: 20ms
memory: 3596kb
input:
6646 17 -822557900 -719107452 81678600 -810512657 -985436857 -717822260 -1000000000 -636451281 -949735403 -599009378 -915571539 -596352662 -824307789 -736572772 -553995003 -765031367 -500309996 -797636289 -458500641 -842827212 -428669086 -871078362 -428977078 -928761972 -490982466 -999825512 -570408...
output:
110526056201314429 15027921575542560 53254517372894023 258485758440262622 34392829191543913 76614213562057620 145259866156654928 42339731416270977 143102643161355094 106105394104280855 145392090901459236 43856914998019051 173982988807640937 44231578293584008 58978505810355496 23485666110810764 12532...
result:
ok 6646 numbers
Test #6:
score: 0
Accepted
time: 19ms
memory: 3600kb
input:
6669 15 -874867377 -757943357 7111757 -974567193 -807217609 -949619167 -890139925 -934615014 -930145748 -888846948 -960741232 -795467329 -1000000000 -722124377 -940364550 -622857698 -842665231 -578818283 -747428314 -780030596 -534753737 -866558348 -484345048 -928090924 -519994734 -987269004 -5856231...
output:
182950707425830089 29338404516797685 84520746595092394 105477320399449524 73884037892247358 49031829753894899 48108760133499810 178434777514737858 31287633742235961 84173958668093920 15282003310382472 106987783997819044 50751134064267722 22920035202317059 79797616191974237 75995194318427644 94277118...
result:
ok 6669 numbers
Test #7:
score: 0
Accepted
time: 15ms
memory: 3596kb
input:
6673 11 -746998467 -874016929 25938500 -1000000000 -901415571 -645111069 -992353393 -547811885 -1000000000 -483640464 -931109189 -546643988 -877114659 -625764830 -834162211 -723093733 -813353581 -811419393 -799116488 -879584543 -791576283 -944145006 -828676656 -998000881 -880308971 14 -826271552 -81...
output:
54570343814105147 74950556637655098 38052401037814742 109159348998561498 21083015515232346 31649646072675313 42326841119894707 158636477858979605 129690295986443039 112077348808529800 16900062518936042 63732368902300348 79182769273740625 142098431062104007 111981825046535522 38580332981675983 631960...
result:
ok 6673 numbers
Test #8:
score: 0
Accepted
time: 17ms
memory: 4728kb
input:
1 100000 312059580 -177336163 523906543 43599219 998132845 43570757 998134606 43509809 998138374 43456461 998141672 43379797 998146410 43325475 998149757 43283580 998152335 43207966 998156986 43131288 998161701 43054854 998166387 42988614 998170421 42922795 998174418 42844022 998179189 42778015 9981...
output:
2336396422009996549
result:
ok 1 number(s): "2336396422009996549"
Test #9:
score: 0
Accepted
time: 17ms
memory: 4700kb
input:
1 100000 -251564816 -78082096 448753841 -80224677 990816180 -80259466 990812190 -80305475 990806906 -80353208 990801417 -80432095 990792336 -80499807 990784538 -80550474 990778690 -80584379 990774772 -80646058 990767643 -80721039 990758969 -80765340 990753844 -80831878 990746146 -80884094 990740100 ...
output:
2228503226896114609
result:
ok 1 number(s): "2228503226896114609"
Test #10:
score: 0
Accepted
time: 17ms
memory: 4856kb
input:
1 100000 -21114562 65507992 38717262 185741374 -973388860 185752671 -973385638 185780414 -973377719 185856314 -973356051 185933967 -973333881 185954554 -973328000 186032784 -973305637 186080608 -973291964 186146989 -973272982 186174716 -973265053 186244761 -973245018 186322991 -973222629 186396908 -...
output:
3072519712977372770
result:
ok 1 number(s): "3072519712977372770"
Test #11:
score: 0
Accepted
time: 16ms
memory: 4648kb
input:
1 100000 268671 -2666521 876866632 230011647 -961116491 230075890 -961094782 230134968 -961074817 230168748 -961063401 230244475 -961037808 230269796 -961029249 230315761 -961013704 230385411 -960990142 230415463 -960979975 230481755 -960957543 230553370 -960933304 230586681 -960922029 230613411 -96...
output:
133463776650326652
result:
ok 1 number(s): "133463776650326652"
Test #12:
score: 0
Accepted
time: 17ms
memory: 4860kb
input:
1 100000 -2718704 778274 581723239 -978709486 169949360 -978714995 169927878 -978732247 169860576 -978751379 169785908 -978765698 169730020 -978773095 169701140 -978776354 169688400 -978789899 169635448 -978801355 169590640 -978818799 169522411 -978836755 169452110 -978848869 169404635 -978865973 16...
output:
868255658642677668
result:
ok 1 number(s): "868255658642677668"
Test #13:
score: 0
Accepted
time: 18ms
memory: 4668kb
input:
1 100000 -2748577 -2474335 98902294 951770249 -240991282 951794130 -240924574 951808902 -240883307 951834639 -240811406 951854284 -240756524 951859830 -240741030 951881397 -240680772 951908083 -240606202 951935455 -240529694 951945987 -240500253 951973326 -240423829 951997817 -240355366 952015600 -2...
output:
2586612861573259216
result:
ok 1 number(s): "2586612861573259216"
Extra Test:
score: 0
Extra Test Passed