球球康康哪错了

P2669 [NOIP2015 普及组] 金币

hexuchen @ 2023-05-08 17:31:59

C++ 只有40分 QWQ

#include <bits/stdc++.h>
using namespace std;
int main() {
    int k;
    long long sum=0,day=0,base=1;
    cin>>k;
    while(day<k){
        day+=base;
        sum+=base*base;
        base++;
    }
    cout<<sum;
    return 0;
}

错在哪 QWQ


by Eliboy @ 2023-05-08 20:50:17

我觉得直接暴力,不需要优化,优化的话,和有可能过掉 如:输入4就不行了,一开始day是1,然后是3,一看没有超过,变成6,这不就多了吗? 我的代码:

#include<iostream>
using namespace std;

int main(){
    int n;
    cin>>n;
    int sum=0,x=1,y=0,t=0;
    for(int i=1;i<=n;i++){
        sum+=x;
        t++;
        if(x==t)
        {
            x++;
            t=0;
        }
    }
    cout<<sum<<endl;
    return 0;   
}

by hexuchen @ 2023-05-27 21:49:22

@Eliboy 谢谢大神指导!


by 1000YMH @ 2023-07-27 09:40:49


#include<bits/stdc++.h>
using namespace std;
int main(){
    int a[10001],n,s=1,ans=0;cin>>n;
    for(int i=1;i<=n;i++){
        if (s > n) break;
        for(int j=1;j<=i;j++){
            a[s]=i;s++;  
            if (s>n) break;
        }
    }
    for(int i=1;i<=n;i++)ans+=a[i];
    cout<<ans<<endl;
    return 0;
}

by hexuchen @ 2023-08-01 21:49:21


|