0
已解决
屠景瑞
新手光能
新手光能
这次模拟有点难。
我只会1,2两题。
其他两题懵逼。
这里附带第一题和第二题100分代码:
第一题:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int a[100010],n,w,s;
int main()
{
cin>>n>>w;
for(int i=0;i<n;i++){
cin>>a[i];
s+=a[i];
}
if(s>=w)
cout<<"YES";
else
cout<<w-s;
return 0;
}
第二题:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<ctime>
#include<iostream>
using namespace std;
int n,s=0;
int gcd(int a,int b)
{
int r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
return b;
}
bool hz(int a,int b)
{
if(gcd(a,b)==1)
return true;
else
return false;
}
int main()
{
cin>>n;
for(int i=1; i<=sqrt(n); i++) {
for(int j=sqrt(n); j<=n; j++) {
if(i*j==n&&hz(i,j))
s++;
}
}
cout<<s*2;
return 0;
}
0
已采纳
范子扬
高级守护
高级守护
3679
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
using namespace std;
int a[100010],n,w,s;
int main()
{
cin>>n>>w;
for(int i=0;i<n;i++){
cin>>a[i];
s+=a[i];
}
if(s>=w)
cout<<"YES";
else
cout<<w-s;
return 0;
}
3680
#include <iostream>
#include <string>
#include <cstring>
using namespace std;
int main()
{
char s1[10010],s2[10010];
int dp[10010];
cin>>s1>>s2;
int l1=strlen(s1);
int l2=strlen(s2);
dp[0]=1;
for(int i=1;i<=l1;i++)
{
for(int j=min(l2,i);j>=1;j--)
{
if(s1[i-1]==s2[j-1])
dp[j]=(dp[j]+dp[j-1])%100000007;
}
}
cout<<dp[l2];
}
3681
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
struct node
{
int w, s;
} a[50010];
int cmp(node a, node b)
{
return a.w+a.s>b.w+b.s;
}
int main()
{
int n;
long long sum; cin >> n;
sum = 0;
for(int i=0; i<n; i++)
{
cin >> a[i].w >> a[i].s; sum += a[i].w;
}
sort(a, a+n, cmp);
long long ans = -0x3f3f3f3f; for(int i=0; i<n; i++)
{
sum -= a[i].w;
ans = max(ans, sum-a[i].s);
}
cout << ans; return 0;
}
3682
#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<cstring>
#include<algorithm>
#include<ctime>
#include<iostream>
using namespace std;
int n,s=0;
int gcd(int a,int b)
{
int r=a%b;
while(r!=0){
a=b;
b=r;
r=a%b;
}
return b;
}
bool hz(int a,int b)
{
if(gcd(a,b)==1)
return true;
else
return false;
}
int main()
{
cin>>n;
for(int i=1; i<=sqrt(n); i++) {
for(int j=sqrt(n); j<=n; j++) {
if(i*j==n&&hz(i,j))
s++;
}
}
cout<<s*2;
return 0;
}
0
0
0
0