1. 程式人生 > >牛客寒假算法基礎集訓營6

牛客寒假算法基礎集訓營6

one str 算法 src mes font .com lse sed

https://ac.nowcoder.com/acm/contest/332#question

A.出題

技術分享圖片
#include <bits/stdc++.h>
using namespace std;
#define LL long long
LL N, M;
 
int main() {
    scanf("%lld%lld", &N, &M);
    N=N-M*6;
 
    if(N >= 0 && N <= M*3){
        printf("%lld\n",max(0LL,M-N));
        return 0;
    }
 
    printf(
"jgzjgzjgz\n"); return 0; }
View Code

B.煤氣竈

技術分享圖片
#include <bits/stdc++.h>
using namespace std;
 
int N, d, x;
long long M;
 
int main() {
    scanf("%d%lld%d%d", &N, &M, &d, &x);
    long long sum = N;
    int temp = 0;
    for(int i = 1; i <= x; i ++) {
        if(sum >= M) {
            temp 
= i; break; } sum += (N + d * i); } printf("%d\n", temp); return 0; }
View Code

C.項鏈

技術分享圖片
#include <bits/stdc++.h>
using namespace std;
 
const int maxn = 1e5 + 10;
int N, M;
 
struct Node{
    int a;
    int b;
}node[maxn];
 
bool cmp(const Node &x, const
Node &y) { if(x.b != y.b) return x.b > y.b; else return x.a > y.a; } int main() { scanf("%d%d", &N, &M); long long ans = 0; for(int i = 0; i < M; i ++) scanf("%d", &node[i].a); for(int i = 0; i < M; i ++) scanf("%d", &node[i].b); sort(node, node + M, cmp); int cnt = N; for(int i = 0; i < M; i ++) { if(cnt == 0) break; if(cnt - node[i].a >= 0) { ans += (node[i].a * node[i].b); cnt -= node[i].a; } else { ans += (cnt * node[i].b); cnt = 0; } } printf("%lld\n", ans); return 0; }
View Code

D.美食

技術分享圖片
#include <bits/stdc++.h>
using namespace std;
int N, a;
 
int main() {
    scanf("%d", &N);
    long long ans = 0;
    long long sum = 0;
    for(int i = 1; i <= N; i ++) {
        scanf("%d", &a);
        if(!a) ans += sum / 2, sum = 0;
        sum += a;
    }
    ans += sum / 2;
    printf("%lld\n", ans);
    return 0;
}
View Code

最後一場 佛系比賽 也算是功德圓滿一場都沒落下吧

FHFHFH

牛客寒假算法基礎集訓營6