传送门
A.Chuanpai
int main(){
int _=read;
while(_--){
int n=read,res=0;
rep(i,1,6)
rep(j,1,i)
if(i+j==n) res++;
cout<<res<<endl;
}
return 0;
}
B.Hotpot
int n,k,m,a[maxn],b[maxn],c[maxn];
int main(){
int _=read;
while(_--){
n=read,k=read,m=read;
rep(i,1,k) b[i]=0;
rep(i,1,n) a[i]=read,c[i]=0;
for(int i=1;i<=min(2*n,m);i++){
int t=i%n;
if(!t) t=n;
if(b[a[t]]) c[t]++,b[a[t]]=0;
else b[a[t]]=1;
}
if(m>2*n){
int t1=m/(2*n),t2=m%(2*n);
rep(i,1,n) c[i]=c[i]*t1;
rep(i,1,k) b[i]=0;
rep(i,1,t2){
int t=i%n;
if(!t) t=n;
if(b[a[t]]) c[t]++,b[a[t]]=0;
else b[a[t]]=1;
}
}
rep(i,1,n) cout<<c[i]<<" ";
puts("");
}
return 0;
}
D.Rock Paper Scissors
ll a[3],b[3];
int main(){
int _=read;
while(_--){
for(int i=0;i<3;i++) cin>>a[i];
for(int i=0;i<3;i++) cin>>b[i];
ll ans=0;
ll d;
d=min(a[0],b[1]);
ans+=d, a[0]-=d, b[1]-=d;
d=min(a[1],b[2]);
ans+=d, a[1]-=d, b[2]-=d;
d=min(a[2],b[0]);
ans+=d, a[2]-=d, b[0]-=d;
for(int i=0;i<3;i++) d=min(a[i],b[i]), a[i]-=d, b[i]-=d;
for(int i=0;i<3;i++) ans-=a[i];
cout<<ans<<endl;
}
return 0;
}
H Nihongo wa Muzukashii D
int main(){
int _=read;
while(_--){
string s,res="";cin>>s;
int n=s.size()-1;
if(s=="ikimasu"){
res="itte";
cout<<res<<endl;
continue;
}
if(s.substr(n-6+1,6)=="rimasu"){
res=s.substr(0,n-6+1)+"tte";
}
else if(s.substr(n-7+1,7)=="chimasu"){
res=s.substr(0,n-7+1)+"tte";
}
else if(s.substr(n-6+1,6)=="mimasu"){
res=s.substr(0,n-6+1)+"nde";
}
else if(s.substr(n-6+1,6)=="bimasu"){
res=s.substr(0,n-6+1)+"nde";
}
else if(s.substr(n-6+1,6)=="nimasu"){
res=s.substr(0,n-6+1)+"nde";
}
else if(s.substr(n-6+1,6)=="kimasu"){
res=s.substr(0,n-6+1)+"ite";
}
else if(s.substr(n-6+1,6)=="gimasu"){
res=s.substr(0,n-6+1)+"ide";
}
else if(s.substr(n-7+1,7)=="shimasu"){
res=s.substr(0,n-7+1)+"shite";
}
cout<<res<<endl;
}
return 0;
}
K K-skip Permutation
int main(){
int n=read,k=read;
int idx=0;
rep(i,1,k){
for(int j=0;j*k+i<=n;j++){
cout<<j*k+i<<" ";
}
}
return 0;
}
L Spicy Restaurant
int h[N],e[N],ne[N],idx,n,m,Q,w[N];
void init(){
idx=0;
memset(h,-1,sizeof h);
}
void add(int a,int b){
e[idx]=b,ne[idx]=h[a],h[a]=idx,idx++;
}
int dis[N][110],st[N];
void bfs(int s){
memset(st,0,sizeof st);
queue<int>q;
rep(i,1,n)
if(w[i]==s){
q.push(i);st[i]=1;dis[i][s]=0;
}
while(q.size()){
int t=q.front();q.pop();
for(int i=h[t];~i;i=ne[i]){
int j=e[i];
if(st[j]) continue;
dis[j][s]=dis[t][s]+1;
q.push(j);st[j]=1;
}
}
}
int main(){
init();
n=read,m=read,Q=read;
rep(i,1,n) w[i]=read;
rep(i,1,m){
int u=read,v=read;
add(u,v);add(v,u);
}
memset(dis,-1,sizeof dis);
rep(i,1,100) bfs(i);
while(Q--){
int p=read,a=read;
int minn=inf;
for(int i=1;i<=a;i++)
if(dis[p][i]!=-1)
minn=min(minn,dis[p][i]);
if(minn==inf) minn=-1;
printf("%d\n",minn);
}
return 0;
}
M True Story
ll s[maxn],t[maxn],p[maxn];
int main(){
ll n=read,k=read,x=read,p0=read;
ll res=0,sum=p0;
rep(i,1,n) s[i]=read;
rep(i,1,k){
t[i]=read;
}
rep(i,1,k){
p[i]=read;
sum=max(sum,p[i]-t[i]);
}
sort(s+1,s+1+n);
// cout<<sum<<endl;
per(i,n,1){
if(s[i]*sum>=x) res++;
else break;
}
cout<<res<<endl;
return 0;
}