AcWing 1069. c++ int128
原题链接
中等
作者:
Alien
,
2021-01-08 19:07:52
,
所有人可见
,
阅读 1396
#include<bits/stdc++.h>
using namespace std;
const int N = 55;
inline __int128 read(){
__int128 x = 0, f = 1;
char ch = getchar();
while(ch < '0' || ch > '9'){
if(ch == '-')
f = -1;
ch = getchar();
}
while(ch >= '0' && ch <= '9'){
x = x * 10 + ch - '0';
ch = getchar();
}
return x * f;
}
inline void print(__int128 x){
if(x < 0){
putchar('-');
x = -x;
}
if(x > 9)
print(x / 10);
putchar(x % 10 + '0');
}
__int128 f[N][N];
__int128 w[N];
const __int128 inf = 1e27;
int main(){
int n;
cin >>n;
for(int i =1 ; i <= n ; i++) w[i] = read();
for(int len = 3; len <= n; len++){
for(int l = 1; l +len - 1 <= n; l++){
int r = l + len -1;
f[l][r] = inf;
for(int k = l+ 1; k < r; k++){
f[l][r] = min(f[l][r], f[l][k] + f[k][r] + w[l]*w[k]*w[r]);
}
}
}
print(f[1][n]);
return 0;
}
ios::sync_with_stdio(0);cin.tie(0),cout.tie(0)这东西别用,一直TLE
没吧,我一直这样写来着,加了这句话只能用
cin
和cout
了,就不能用scanf
和printf
了,不然会输出一些奇奇怪怪的东西。__int128
yyds%%%
同上%%%%