はい。
AtCoder Beginner Contest 044
あーうーうー?
A - 高橋君とホテルイージー
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define per(i,n) for(int i=n-1;i>=0;--i)
#define sc1(a) scanf("%d",&a)
#define sc2(a,b) scanf("%d %d",&a,&b)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define sl1(a) scanf("%lld",&a)
#define sl2(a,b) scanf("%lld %lld",&a,&b)
#define sl3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c)
#define PI 3.1415926535897932
#define print(a) cout << a << endl
#define pp puts("")
#define Yes printf("Yes\n")
#define No printf("No\n")
void yneso(int a) {if(a) Yes; else No;}
typedef long long ll;
int souwa(int a) {return (1+a)*a/2;}
int lcm(int a,int b) { return a*b/__gcd(a,b); }
double tilt(int x1,int y1,int x2,int y2) {return (1.0*y2-1.0*y1)/(1.0*x2-1.0*x1);}
double tri(int xa,int ya,int xb,int yb,int xc,int yc) {return (1.0*xa-1.0*xc)*(1.0*yb-1.0*yc)-(1.0*xb-1.0*xc)*(1.0*ya-1.0*yc);}
bool sankaku(int a,int b,int c) {vector <int> t={a,b,c};sort(t.begin(),t.end()); return t.at(0)+t.at(1)>t.at(2);};
int main(){
int n,k,x,y,z,cnt=0,ans=0;
cin >> n >> k >> x >>y;
ans=min(n,k)*x+max(0,n-k)*y;
print(ans);
return 0;
}
日数と料金をよしなに。
B - 美しい文字列
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define per(i,n) for(int i=n-1;i>=0;--i)
#define sc1(a) scanf("%d",&a)
#define sc2(a,b) scanf("%d %d",&a,&b)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define sl1(a) scanf("%lld",&a)
#define sl2(a,b) scanf("%lld %lld",&a,&b)
#define sl3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c)
#define PI 3.1415926535897932
#define print(a) cout << a << endl
#define pp puts("")
#define Yes printf("Yes\n")
#define No printf("No\n")
void yneso(int a) {if(a) Yes; else No;}
typedef long long ll;
int souwa(int a) {return (1+a)*a/2;}
int lcm(int a,int b) { return a*b/__gcd(a,b); }
double tilt(int x1,int y1,int x2,int y2) {return (1.0*y2-1.0*y1)/(1.0*x2-1.0*x1);}
double tri(int xa,int ya,int xb,int yb,int xc,int yc) {return (1.0*xa-1.0*xc)*(1.0*yb-1.0*yc)-(1.0*xb-1.0*xc)*(1.0*ya-1.0*yc);}
bool sankaku(int a,int b,int c) {vector <int> t={a,b,c};sort(t.begin(),t.end()); return t.at(0)+t.at(1)>t.at(2);};
int main(){
int mod=1e9+7;
int n,k,x,y,z,cnt=0,ans=0;
string s,t;
cin >> s;
vector<int> a(30);
rep(i,s.size()) {
a.at(s.at(i)-'a')=a.at(s.at(i)-'a')^1;
}
rep(i,28) if(a.at(i)==1) ans=1;
cout << ((ans)?"No":"Yes") << endl;
return 0;
}
文字数える。数えるのも偶数個奇数個だけ分かれば大丈夫ですけど。
C - 高橋君とカード
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<n;++i)
#define per(i,n) for(int i=n-1;i>=0;--i)
#define sc1(a) scanf("%d",&a)
#define sc2(a,b) scanf("%d %d",&a,&b)
#define sc3(a,b,c) scanf("%d %d %d",&a,&b,&c)
#define sl1(a) scanf("%lld",&a)
#define sl2(a,b) scanf("%lld %lld",&a,&b)
#define sl3(a,b,c) scanf("%lld %lld %lld",&a,&b,&c)
#define PI 3.1415926535897932
#define print(a) cout << a << endl
#define pp puts("")
#define Yes printf("Yes\n")
#define No printf("No\n")
void yneso(int a) {if(a) Yes; else No;}
typedef long long ll;
int souwa(int a) {return (1+a)*a/2;}
int lcm(int a,int b) { return a*b/__gcd(a,b); }
double tilt(int x1,int y1,int x2,int y2) {return (1.0*y2-1.0*y1)/(1.0*x2-1.0*x1);}
double tri(int xa,int ya,int xb,int yb,int xc,int yc) {return (1.0*xa-1.0*xc)*(1.0*yb-1.0*yc)-(1.0*xb-1.0*xc)*(1.0*ya-1.0*yc);}
bool sankaku(int a,int b,int c) {vector <int> t={a,b,c};sort(t.begin(),t.end()); return t.at(0)+t.at(1)>t.at(2);};
int main(){
int mod=1e9+7;
int n,k,a,y,z;
ll cnt=0ll,ans=1ll;
cin >> n >> a;
vector<pair<int,int>> x(55,{0,0});
rep(i,n) {
cin >> k;
if (k>=a) x.at(k-a).first++;
else x.at(a-k).second++;
}
x.at(0).second=x.at(0).first;
vector<vector<ll>> p(51,vector<ll>(51,0));
rep(i,51){
p.at(i).at(i)=1ll;
p.at(i).at(0)=1ll;
}
for(int i=2;i<51;i++){
for(int j=1;j<i;j++){
p.at(i).at(j)=p.at(i-1).at(j-1)+p.at(i-1).at(j);
}
}
for(int i=0;i<51;i++) {
z=min(x.at(i).first,x.at(i).second);
cnt=0ll;
for(int j=0;j<=z;j++){
if(i==0) cnt+=p.at(z).at(j);
else cnt+=(p.at(x.at(i).first).at(j)*p.at(x.at(i).second).at(j));
}
ans*=cnt;
}
print(ans-1ll);
return 0;
}
まあこれWAなんですが。。。平均との差が+-同じ差のものしか見てないせいでおそらくWA。 差が+4のものと対になるのは-4のモノだけじゃなくて-1,-2,-3から複数個選ぶことも出来るはずなのでそれを数えればWAになってる件数減らせるはず。ACにならなければまた考慮不足の探して。