my测试点

这篇博客主要探讨了C++编程的一些关键点,包括语法特性、内存管理和面向对象编程的应用。通过实例解析,帮助读者深入理解C++的强大功能。
摘要由CSDN通过智能技术生成
//
//#pragma GCC optimize("Ofast")
//#pragma GCC target("avx,avx2,fma")
//#pragma GCC optimization ("unroll-loops")
//
//#pragma GCC optimize(3,"Ofast","inline")
//#include<unordered_map>
//#include<unordered_set>
#include<cstdio>
#include<ctime>
#include<iostream>
#include<cmath>
#include<functional>
#include<cstring>
#include<string>
#include<cstdlib>
#include<queue>
#include<map>
#include<algorithm>
#include<set>
#include<stack>
#include<vector>
#include<sstream>
#include<list>
#include<deque>
using namespace std;
typedef long long ll;
const int INF=0x3f3f3f3f;
ll mod=1000;
const int maxn=2e5+5;
string s_in[11];
string s_out[11];
int get_rand_number(int a,int b)
{
    return (rand()%(b-a+1))+ a;
}
void init()
{

    s_in[1]="C:\\Users\\zhl\\Desktop\\bag\\t\\1.in";
    s_in[2]="C:\\Users\\zhl\\Desktop\\bag\\t\\2.in";
    s_in[3]="C:\\Users\\zhl\\Desktop\\bag\\t\\3.in";
    s_in[4]="C:\\Users\\zhl\\Desktop\\bag\\t\\4.in";
    s_in[5]="C:\\Users\\zhl\\Desktop\\bag\\t\\5.in";
    s_in[6]="C:\\Users\\zhl\\Desktop\\bag\\t\\6.in";
    s_in[7]="C:\\Users\\zhl\\Desktop\\bag\\t\\7.in";
    s_in[8]="C:\\Users\\zhl\\Desktop\\bag\\t\\8.in";
    s_in[9]="C:\\Users\\zhl\\Desktop\\bag\\t\\9.in";
    s_in[10]="C:\\Users\\zhl\\Desktop\\bag\\t\\10.in";

    s_out[1]="C:\\Users\\zhl\\Desktop\\bag\\t\\1.out";
    s_out[2]="C:\\Users\\zhl\\Desktop\\bag\\t\\2.out";
    s_out[3]="C:\\Users\\zhl\\Desktop\\bag\\t\\3.out";
    s_out[4]="C:\\Users\\zhl\\Desktop\\bag\\t\\4.out";
    s_out[5]="C:\\Users\\zhl\\Desktop\\bag\\t\\5.out";
    s_out[6]="C:\\Users\\zhl\\Desktop\\bag\\t\\6.out";
    s_out[7]="C:\\Users\\zhl\\Desktop\\bag\\t\\7.out";
    s_out[8]="C:\\Users\\zhl\\Desktop\\bag\\t\\8.out";
    s_out[9]="C:\\Users\\zhl\\Desktop\\bag\\t\\9.out";
    s_out[10]="C:\\Users\\zhl\\Desktop\\bag\\t\\10.out";
}
    //freopen("C:\\Users\\Administrator\\Desktop\\t\\10.in","r",stdin);
    //freopen("C:\\Users\\Administrator\\Desktop\\t\\10.out","w",stdout);
void get_infile()
{
    init();
    srand(time(nullptr));
    for(int i=1;i<=10;i++)
    {
        const char* c = s_in[i].c_str();
        freopen(c,"w",stdout);
///

        int n=get_rand_number(1,1000);
        cout<<n<<endl;
        for(int i=1;i<=n;i++)
        {
            cout<<get_rand_number(1,1000)<<" ";
        }
        cout<<endl;

///
        fclose(stdout);
    }
}
int dp[maxn];
int a[maxn];
int main()
{
    get_infile();
    for(int q=1;q<=10;q++)
    {
        const char* infile = s_in[q].c_str();
        const char* outfile = s_out[q].c_str();
        freopen(infile,"r",stdin);
        freopen(outfile,"w",stdout);
//

        memset(dp,0,sizeof dp);
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)cin>>a[i];
        sort(a+1,a+1+n);
        dp[1]=a[1];
        dp[2]=a[2];
        for(int i=3;i<=n;i++)
        {
            dp[i]=min(dp[i-1]+a[1]+a[i],dp[i-2]+a[1]+a[i]+2*a[2]);
        }
        cout<<dp[n];

//
        fclose(stdin);
        fclose(stdout);
    }
    return 0;
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值