diff --git a/Google KickStart 2022/Round F/sort_the_fabrics.cpp b/Google KickStart 2022/Round F/sort_the_fabrics.cpp new file mode 100644 index 00000000..c1f6ce44 --- /dev/null +++ b/Google KickStart 2022/Round F/sort_the_fabrics.cpp @@ -0,0 +1,59 @@ +#include +using namespace std; +typedef long long ll; +typedef unsigned long long ull; +typedef long double lld; +typedef vector vi; +typedef vector vll; +typedef vector vb; +#define pb push_back +#define ppb pop_back +#define ff first +#define ss second +#define all(x) x.begin(),x.end() +#define mod 1000000007 +#define mod1 998244353 + +bool cmp1(pair a,pair b){ + if(a.ff!=b.ff) return a.ff a,pair b){ + if(a.ff!=b.ff) return a.ff>n; + vector > c(n); + vector > d(n); + for(int i=0 ; i>c[i].ff>>d[i].ff>>c[i].ss; + d[i].ss=c[i].ss; + } + sort(all(c),cmp1); + sort(all(d),cmp2); + int ct=0; + for(int i=0 ; i>t; + int test=1; + while(t--){ + solve(test); + test++; + } + return 0; +} \ No newline at end of file diff --git a/Google KickStart 2022/Round F/story_of_seasons.cpp b/Google KickStart 2022/Round F/story_of_seasons.cpp new file mode 100644 index 00000000..70de2e95 --- /dev/null +++ b/Google KickStart 2022/Round F/story_of_seasons.cpp @@ -0,0 +1,102 @@ +#include +using namespace std; +typedef long long ll; +typedef unsigned long long ull; +typedef long double lld; +typedef vector vi; +typedef vector vll; +typedef vector vb; +#define pb push_back +#define ppb pop_back +#define ff first +#define ss second +#define all(x) x.begin(),x.end() +#define mod 1000000007 +#define mod1 998244353 + + /* ****** THIS CODE PASSES ONLY THE FIRST TWO TESTS NOT THE FINAL ONE ****** */ + +ll x; +set s; + +ll Lower_Bound2(ll d){ + auto it=s.lower_bound(d); + if(it==s.end()) return -1; + return (*it); +} + +vll l(1e5+5); + +bool cmp(pair a,pair b){ + if(a.ff!=b.ff) return a.ff>b.ff; + return l[a.ss]>d>>n>>x; + vll q(n); + vector > v(n); + for(int i=0 ; i>q[i]>>l[i]>>v[i].ff; + v[i].ss=i; + } + sort(all(v),cmp); + int cur=0; + vector > fin(d); + + for(int i=0 ; i>t; + int test=1; + while(t--){ + solve(test); + test++; + } + return 0; +} \ No newline at end of file diff --git a/Google KickStart 2022/Round F/water_container_system.cpp b/Google KickStart 2022/Round F/water_container_system.cpp new file mode 100644 index 00000000..f1e87d56 --- /dev/null +++ b/Google KickStart 2022/Round F/water_container_system.cpp @@ -0,0 +1,81 @@ +#include +using namespace std; +typedef long long ll; +typedef unsigned long long ull; +typedef long double lld; +typedef vector vi; +typedef vector vll; +typedef vector vb; +#define pb push_back +#define ppb pop_back +#define ff first +#define ss second +#define all(x) x.begin(),x.end() +#define mod 1000000007 +#define mod1 998244353 + +const int N=1e5+7; +vi graph[N]; +vi depth(N); +vb vis(N); + +void dfs(int vertex,int d){ + vis[vertex]=true; + depth[vertex]=d; + + for(int child : graph[vertex]){ + if(vis[child]==false){ + dfs(child,d+1); + } + } +} + +void solve(int test){ + int n,q; + cin>>n>>q; + for(int i=0 ; i>a>>b; + graph[a].pb(b); + graph[b].pb(a); + } + dfs(1,0); + vi dep(n,0); + for(int i=1 ; i<=n ; i++){ + dep[depth[i]]++; + } + int level=0; + int cur=0; + int ans=0; + for(int i=0 ; i>a; + cur++; + if(cur==dep[level]){ + level++; + ans+=cur; + cur=0; + } + } + cout<<"Case #"<>t; + int test=1; + while(t--){ + solve(test); + test++; + } + return 0; +} \ No newline at end of file diff --git a/Google KickStart 2022/Round G/curling.cpp b/Google KickStart 2022/Round G/curling.cpp new file mode 100644 index 00000000..704b030b --- /dev/null +++ b/Google KickStart 2022/Round G/curling.cpp @@ -0,0 +1,73 @@ +#include +using namespace std; +typedef long long ll; +typedef unsigned long long ull; +typedef long double lld; +typedef vector vi; +typedef vector vll; +typedef vector vb; +#define pb push_back +#define ppb pop_back +#define ff first +#define ss second +#define all(x) x.begin(),x.end() +#define mod 1000000007 +#define mod1 998244353 + +void solve(int test){ + ll rs,rh; + cin>>rs>>rh; + int n; + cin>>n; + ll mdist=rs+rh; + vector > v; + for(int i=0 ; i>x>>y; + ll dis=(((x)*(x))+((y)*(y))); + if(dis<=((mdist)*(mdist))) v.pb({dis,1}); + } + int m; + cin>>m; + for(int i=0 ; i>x>>y; + ll dis=(((x)*(x))+((y)*(y))); + if(dis<=((mdist)*(mdist))) v.pb({dis,2}); + } + cout<<"Case #"<>t; + int test=1; + while(t--){ + solve(test); + test++; + } + return 0; +} diff --git a/Google KickStart 2022/Round G/walktober.cpp b/Google KickStart 2022/Round G/walktober.cpp new file mode 100644 index 00000000..24a641ae --- /dev/null +++ b/Google KickStart 2022/Round G/walktober.cpp @@ -0,0 +1,59 @@ +#include +using namespace std; +typedef long long ll; +typedef unsigned long long ull; +typedef long double lld; +typedef vector vi; +typedef vector vll; +typedef vector vb; +#define pb push_back +#define ppb pop_back +#define ff first +#define ss second +#define all(x) x.begin(),x.end() +#define mod 1000000007 +#define mod1 998244353 + +void solve(int test){ + int m,n,p; + cin>>m>>n>>p; + p--; + vi v(n,0); + vi john(n); + for(int i=0 ; i>john[j]; + + } + continue; + } + for(int j=0 ; j>temp; + v[j]=max(v[j],temp); + } + } + ll ans=0; + for(int i=0 ; i>t; + int test=1; + while(t--){ + solve(test); + test++; + } + return 0; +}