3.1w+
社区成员
分别计算两种方法取最小值即可
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
cout<<min(19*22+21+4,21*20+19+4);
return 0;
}
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=1e8+10;
int main()
{
ll a,b,n;cin>>a>>b>>n;
ll ans=n/(a*5+b*2);
n-=ans*(a*5+b*2);
ans*=7;
if(n>=a*5){
ans+=5;n-=a*5;
ans+=(n+b-1)/b;
cout<<ans;
}
else{
ans+=(n+a-1)/a;
cout<<ans;
}
return 0;
}
#include <iostream>
using namespace std;
int main(){
int n;cin>>n;
for(int i=1;i<=n;i++){
cout<<max(i-1,n-i)*2<<endl;
}
return 0;
}
前缀和过了朴素两个样例,28.6%
#include <iostream>
#define ll long long
using namespace std;
int main(){
int n,k;cin>>n>>k;
int a[n+1]={0},b[n+1]={0};
for(int i=1;i<=n;i++){
cin>>a[i];
b[i]=b[i-1]+a[i];
}
ll ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
if((b[i]-b[j-1])%k==0)
ans++;
}
}
cout<<ans;
return 0;
}