codeforces 952 div.4 (C-F)
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n;
cin>>n;
int ans=0;
vector<int> a(n);
for(int i=0;i<n;i++){
cin>>a[i];
}
int maxv=0;
int sum=0;
for(int i=0;i<n;i++){
maxv=max(maxv,a[i]);
sum+=a[i];
if(sum-maxv==maxv) ans+=1;
}
cout<<ans<<endl;
}
signed main(){
int t;
cin>>t;
while(t--){
solve();
}
}
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
void solve(){
int n,m;
cin>>n>>m;
vector<int> row(n+1), col(m+1);
int maxx=0,maxy=0;
int x=0,y=0;
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
char c;
cin>>c;
if(c=='#'){
row[i]++;
col[j]++;
if(maxx<row[i]){
maxx=max(maxx,row[i]);
x=i;
}
if(maxy<col[j]){
maxy=max(maxy,col[j]);
y=j;
}
}
}
}
cout<<x+1<<' '<<y+1<<endl;
}
signed main(){
int t=1;
cin>>t;
while(t--){
solve();
}
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
void solve(){
int x,y,z,v;
cin>>x>>y>>z>>v;
int ans=0;
int a,b,c,k,s;
for(int i=1;i<=v/i;i++){
a=i,s=v/i;
if(v%i==0){
for(int j=1;j<=s/j;j++){
b=j,k=s/j;
if(s%b==0){
if(a<=x&&b<=y&&k<=z&&a*b*k==v){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
swap(b,k);
if(a<=x&&b<=y&&k<=z&&a*b*k==v){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
}
}
}
swap(a,s);
for(int j=1;j<=s/j;j++){
b=j,k=s/j;
if(s%b==0){
if(a<=x&&b<=y&&k<=z&&a*b*k==v){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
swap(b,k);
if(a<=x&&b<=y&&k<=z&&a*b*k==v){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
}
}
}
cout<<ans<<endl;
}
signed main(){
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
void solve(){
int x,y,z,v;
cin>>x>>y>>z>>v;
int ans=0;
int a,b,c,k,s;
for(int i=1;i<=v/i;i++){
a=i,s=v/i;
if(v%i==0){
for(int j=1;j<=s/j;j++){
b=j,k=s/j;
if(s%b==0){
if(a<=x&&b<=y&&k<=z){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
swap(b,k);
if(a<=x&&b<=y&&k<=z){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
}
}
swap(a,s);
for(int j=1;j<=s/j;j++){
b=j,k=s/j;
if(s%b==0){
if(a<=x&&b<=y&&k<=z){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
swap(b,k);
if(a<=x&&b<=y&&k<=z){
ans=max(ans,(x-a+1)*(y-b+1)*(z-k+1));
}
}
}
}
}
cout<<ans<<endl;
}
signed main(){
int t;
cin>>t;
while(t--){
solve();
}
return 0;
}
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+10;
int a[N],c[N];
int h,n;
int check(int mid){
int ans=0;
int bei=1;
for(int i=0;i<n;i++){
ans+=a[i];
ans+=(mid-1)/c[i]*a[i];
if(ans>=h) return true;
}
return false;
}
void solve(){
cin>>h>>n;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<n;i++) cin>>c[i];
int l=1,r=1e11;
while(l<r){
int mid=(l+r)>>1;
if(check(mid)) r=mid;
else l=mid+1;
}
cout<<l<<endl;
}
signed main(){
int t=1;
cin>>t;
while(t--){
solve();
}
return 0;
}