//
//#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;
}
my测试点
于 2023-04-27 10:36:13 首次发布
这篇博客主要探讨了C++编程的一些关键点,包括语法特性、内存管理和面向对象编程的应用。通过实例解析,帮助读者深入理解C++的强大功能。
摘要由CSDN通过智能技术生成