AtCoder Beginner Contest 331

A - Tomorrow (atcoder.jp)

模拟进位即可

AC代码:

#include<bits/stdc++.h>
#define endl '\n'
//#define int long long
using namespace std;
int M,D;
int y,m,d;
void solve() {
    cin>>M>>D;
    cin>>y>>m>>d;
    int jinm=0,jiny=0;
    d+=1;
    if(d>D) d-=D,jinm+=1;
    m+=jinm;
    if(m>M) m-=M,jiny+=1;
    y+=jiny;
    cout<<y<<' '<<m<<' '<<d<<endl;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t=1;
//    cin>>t;
    while(t--) {
        solve();
    }
    return 0;
}

B - Buy One Carton of Milk (atcoder.jp)

数据比较小,直接考虑暴力枚举

AC代码:

#include<bits/stdc++.h>
#define endl '\n'
//#define int long long
using namespace std;
int n;
int S,M,L;
void solve() {
    cin>>n;
    cin>>S>>M>>L;
    int ans=2e9;
    for(int i=0;i<=n/6+1;i++){
        for(int j=0;j<=n/8+1;j++){
            for(int k=0;k<=n/12+1;k++){
                if(i*6+j*8+k*12>=n) ans=min(ans,i*S+j*M+k*L);
            }
        }
    }
    cout<<ans<<endl;
}
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t=1;
//    cin>>t;
    while(t--) {
        solve();
    }
    return 0;
}

C - Sum of Numbers Greater Than Me (atcoder.jp)

从小到大枚举出现过的数值,它的答案即为sum减去它的数值乘它的个数,同时sum也相应减小

AC代码:

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int N=2e5+10,M=1e6+10;
int a[N];
int ans[M];
int n;
void solve() {
    cin>>n;
    map<int,int>mp;
    set<int>s;
    int sum=0;
    for(int i=1;i<=n;i++) cin>>a[i],mp[a[i]]++,sum+=a[i],s.insert(a[i]);
    for(auto v:s){
        sum-=mp[v]*v;
        ans[v]=sum;
    }
    for(int i=1;i<=n;i++) cout<<ans[a[i]]<<' ';
    cout<<endl;
}
signed main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t=1;
//    cin>>t;
    while(t--) {
        solve();
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值