Wink_L:第一题 #include<cstdio>
int main()
{
int m,n,a[2][2],ans=0;
a[0][0]=a[0][1]=a[1][0]=a[1][1]=0;
scanf("%d %d",&n,&m);
for(int i=0;i<n;++i){
int t;
scanf("%d",&t);
if (t%2==0) a[0][0]++;
else a[0][1]++;
}
for(int i=0;i<m;++i){
int t;
scanf("%d",&t);
if (t%2==0) a[1][0]++;
else a[1][1]++;
}
ans=(a[0][0]>a[1][1]?a[1][1]:a[0][0])+(a[0][1]>a[1][0]?a[1][0]:a[0][1]);
printf("%d\n",ans);
return 0;
} 第二题 #include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
typedef struct node{
int ai;
int bi;
}Node;
bool cmp(Node a,Node b){
return (a.ai-a.bi)>(b.ai-b.bi);
}
int main()
{
int n;
ll ans=0;
Node data[100005];
scanf("%d",&n);
for (int i=0;i<n;++i)
scanf("%d %d",&data[i].ai,&data[i].bi);
sort(data,data+n,cmp);
for (int i=0;i<n;++i)
ans+=(data[i].ai*i+data[i].bi*(n-i-1));
printf("%lld\n",ans);
return 0;
} 第四题 暴力60 #include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
int n;
ll ans,w[100005];
int main()
{
scanf("%d",&n);
for (int i=0;i<n;++i){
scanf("%lld",&w[i]);
if (ans<w[i]*w[i]) ans = w[i]*w[i];
}
for(int i=0;i<n-1;++i){
ll mini=w[i],sum=w[i];
for(int j=i+1;j<n;++j){
if (w[j]<mini) mini = w[j];
sum+=w[j];
ll t = sum*mini;
if (t>ans) ans=t;
}
}
printf("%lld\n",ans);
return 0;
} 第五题 50答案错误 #include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
const int mod = 1e9+7;
ll dp[100005];
int main()
{
int t,k;
scanf("%d %d",&t,&k);
dp[0]=1;
for(int i=1;i<=100000;++i){
if (i<k) dp[i]=1;
else{
dp[i]=dp[i-1]+i/k;
if(i>k&&i%k==0) dp[i]++;
dp[i]%=mod;
}
}
while(t--){
int a,b;
ll ans=0;
scanf("%d %d",&a,&b);
for(int i=a;i<=b;++i){
ans=(ans+dp[i])%mod;
}
printf("%lld\n",ans);
}
return 0;
}
投递腾讯等公司10个岗位 >
0 点赞 评论 收藏
分享
关注他的用户也关注了: