B. Bob and Numbers
Tutorial
Code(C++)
Code(Python)
E. Sub-Array
Tutorial$$$ \frac{n(n-1)}{2} $$$ $$$\frac{n(n-1)}{2} - \displaystyle\_sum{n=1}^l $$$
To solve this problem, from the problem's description a beautiful subarray consists atleast two different element. So there atleast two elements exist in a subarray to fulfill this condition. Then the total combinations of subarray is
Then remove all the subarray which has no atleast two different elements. So disire number of beautiful subarray is
Code(C++)
#include <iostream>
using namespace std;
using ll = long long;
ll f(int x){
return (ll)x*((ll)x-1)/2;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int T;
cin>>T;
for(int t=1;t<=T;t++)
{
int n;
cin>>n;
ll sum = f(n);
int a[n];
for(int& i:a)cin>>i;
int j = 0;
while(j<n)
{
int key = a[j];
int m = 1;
while(j<n-1 && key == a[j+1])
{
m++;
j++;
}
sum-=f(m);
j++;
}
cout<<"Case "<<t<<": "<<sum<<"\n";
}
return 0;
}
Code(Python)
def fn(x) -> int :
return int(x*(x-1)*0.5)
for i in range(int(input())):
n = int(input())
s = fn(n)
l = [int(i) for i in input().split()]
j = 0
while j<n:
key = l[j]
m = 1
while j<n-1 and key == l[j+1]:
m+=1
j+=1
s -= fn(m)
j+=1
print(f'Case {i+1}: {s}')
G. Bowling Figure
Tutorial
This problem is super simple and easiest problem of this contest. To solve this problem, count wicket and run by looping all over the string and make a funtion to check the values of over,run and wicket have singular or plural. Then just print according to output's format.
Code(C++)
#include <iostream>
#include <cmath>
using namespace std;
void c(int n)
{
if(n>1)cout<<'s';
}
int main(){
int t;
cin>>t;
while(t--)
{
string s;
cin>>s;
int r=0,o=s.size(),w=0;
int x = ceil((float)o/6);
for(auto i:s)
{
if(i=='W')w++;
else r+=i-'0';
}
cout<<o/6<<'.'<<o%6<<" "<<"Over";
c(x);
cout<<" "<<r<<" "<<"Run";
c(r);
cout<<" "<<w<<" "<<"Wicket";
c(w);
cout<<".\n";
}
return 0;
}
Code(Python)
def c(n):
return n>1 and 's' or ''
for _ in [0]*int(input()):
s = input()
o,r,w=len(s),0,0
for j in s:
if j=='W':w+=1
else:r+=int(j)
print(f'{o//6}.{o%6} Over{c(o/6)} {r} Run{c(r)} {w} Wicket{c(w)}.')