From f1558bb8d312178b341b267376e5bbb996c3cfdc Mon Sep 17 00:00:00 2001 From: Santo Cariotti Date: Tue, 2 May 2017 09:19:13 +0200 Subject: Deleted Facebook Hacker Cup files --- sluggish_security.cpp | 203 -------------------------------------------------- 1 file changed, 203 deletions(-) delete mode 100644 sluggish_security.cpp (limited to 'sluggish_security.cpp') diff --git a/sluggish_security.cpp b/sluggish_security.cpp deleted file mode 100644 index 33f30b0..0000000 --- a/sluggish_security.cpp +++ /dev/null @@ -1,203 +0,0 @@ -// Hacker Cup 2017 -// Round 3 -// Sluggish Security -// Jacob Plachta - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -using namespace std; - -#define LL long long -#define LD long double -#define PR pair - -#define Fox(i,n) for (i=0; i=0; i--) -#define FoxR1(i,n) for (i=n; i>0; i--) -#define FoxRI(i,a,b) for (i=b; i>=a; i--) -#define Foxen(i,s) for (i=s.begin(); i!=s.end(); i++) -#define Min(a,b) a=min(a,b) -#define Max(a,b) a=max(a,b) -#define Sz(s) int((s).size()) -#define All(s) (s).begin(),(s).end() -#define Fill(s,v) memset(s,v,sizeof(s)) -#define pb push_back -#define mp make_pair -#define x first -#define y second - -template T Abs(T x) { return(x<0 ? -x : x); } -template T Sqr(T x) { return(x*x); } - -const int INF = (int)1e9; -const LD EPS = 1e-9; -const LD PI = acos(-1.0); - -bool Read(int &x) -{ - char c,r=0,n=0; - x=0; - for(;;) - { - c=getchar(); - if ((c<0) && (!r)) - return(0); - if ((c=='-') && (!r)) - n=1; - else - if ((c>='0') && (c<='9')) - x=x*10+c-'0',r=1; - else - if (r) - break; - } - if (n) - x=-x; - return(1); -} - -#define LIM 2000005 -#define MOD 1000000007 - -int A[LIM],B[LIM],S[LIM]; -LL fct[LIM],ifct[LIM]; - -PR gcd(int a,int b) -{ - if (!b) - return(mp(1,0)); - PR p=gcd(b,a%b); - return(mp(p.y,p.x-p.y*(a/b))); -} - -int Ch(int n,int k) -{ - return(fct[n]*ifct[k]%MOD*ifct[n-k]%MOD); -} - -int main() -{ - // vars - int T,t; - int N,Ka,Kb; - int i,j,a,b; - int ans; - // precompute factorials and their modular inverses - Fox(i,LIM) - { - fct[i]=i ? fct[i-1]*i%MOD : 1; - ifct[i]=gcd(fct[i],MOD).x; - if (ifct[i]<0) - ifct[i]+=MOD; - } - // testcase loop - Read(T); - Fox1(t,T) - { - // input - Read(N); - Read(A[0]),Read(Ka),N=1; - while (Ka--) - { - Read(a),Read(b); - Fox(i,b) - Read(S[i]); - while (a--) - Fox(i,b) { - A[N]=A[N-1]+S[i]; - N++; - } - } - Read(B[0]),Read(Kb),N=1; - while (Kb--) - { - Read(a),Read(b); - Fox(i,b) - Read(S[i]); - while (a--) - Fox(i,b) { - B[N]=B[N-1]+S[i]; - N++; - } - } - // pad arrays - a=-1; - Fox(j,4) - { - A[N+j]=a--; - B[N+j]=a--; - } - // iterate through - ans=1; - i=j=a=b=0; - while ((i