

A Tomorrow ↗#
题目大意#
一年由
M个月组成,从1月到M月,每个月由D天组成,从1天到D天。 问:在该日历中,年y、月m、日d的下一天的日期?
参考代码#
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
void solve(){
int M, D;
std::cin >> M >> D;
int y, m, d;
std::cin >> y >> m >> d;
d ++;
if(d > D){
d -= D;
m ++;
if(m > M){
m -= M;
y ++;
}
}
std::cout << y << " " << m << " " << d << endl;;
}
signed main () {
std::ios::sync_with_stdio (false);
std::cin.tie (nullptr), std::cout.tie (nullptr);
int Lazy_boy_ = 1;
// std::cin >> Lazy_boy_;
while (Lazy_boy_--)
solve ();
return 0;
}cppB Buy One Carton of Milk ↗#
题目大意#
一包
6个蛋S元, 一包8个蛋M元,一包12个蛋L元 问:购买任意数量的每包鸡蛋时, 求至少购买N个鸡蛋所需的最小价格?
解题思路#
由于数据量比较小,我们可以直接三重循环暴力跑一遍.
参考代码#
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
const int INF = 0x3f3f3f3f;
void solve(){
int n, s, m, l;
std::cin >> n >> s >> m >> l;
int ans = INF;
for(int i = 0 ; i <=100 ; i ++){
for(int j = 0; j <= 100; j ++){
for(int k = 0 ; k <= 100; k ++){
int w = i * s + j * m + l * k;
if(i * 6 + 8 * j + 12 * k >= n)
ans = std::min (ans, w);
}
}
}
std::cout << ans << endl;
}
signed main () {
std::ios::sync_with_stdio (false);
std::cin.tie (nullptr), std::cout.tie (nullptr);
int Lazy_boy_ = 1;
// std::cin >> Lazy_boy_;
while (Lazy_boy_--)
solve ();
return 0;
}cppC Sum of Numbers Greater Than Me ↗#
题目大意#
给一个大小为
N的数组A, 问: 数组A中所有大于A[i]的元素之和.
解题思路#
B数组为输入的数组, 现有s记录数组元素的总和,数组A记录B数组中大小为i的 元素个数为A[i]个,我们在遍历一次A数组,只要A[i] > 0就可以将A[i]赋值为s - A[i] * i当然,同时s -= i * A[i]最后,再遍历一次数组B,输出A[B[i]].
参考代码#
#include <bits/stdc++.h>
#define int long long
#define endl '\n'
const int INF = 0x3f3f3f3f;
void solve(){
int n, s = 0, ans = 0,x;
std::cin >> n;
std::vector<int> a(1e6 + 50, 0ll), b(n, 0ll);
for(int i = 0 ; i < n ; i ++)
std::cin >> b[i], a[b[i]] ++, s += b[i];
for(int i = 1 ; i <= 1000000 ;i ++){
if(a[i]){
s -= a[i] * i;
a[i] = s;
}
}
for(int i = 0 ; i < n ; i ++)
std::cout << a[b[i]] << " ";
}
signed main () {
std::ios::sync_with_stdio (false);
std::cin.tie (nullptr), std::cout.tie (nullptr);
int Lazy_boy_ = 1;
// std::cin >> Lazy_boy_;
while (Lazy_boy_--)
solve ();
return 0;
}cpp