提出 #46825236
ソースコード 拡げる
#include<bits/stdc++.h>
#pragma GCC optimzie "Ofast"
#define prob "E"
#define ll long long
#define fi first
#define se second
using namespace std;
const int maxn = 1e3;
const int MOD = 1e9 + 7;
const int dx[] = {-1,0,1,0};
const int dy[] = {0,1,0,-1};
typedef pair<int,int> pi;
void __print(int x) {cerr << x;}
void __print(long x) {cerr << x;}
void __print(long long x) {cerr << x;}
void __print(unsigned x) {cerr << x;}
void __print(unsigned long x) {cerr << x;}
void __print(unsigned long long x) {cerr << x;}
void __print(float x) {cerr << x;}
void __print(double x) {cerr << x;}
void __print(long double x) {cerr << x;}
void __print(char x) {cerr << '\'' << x << '\'';}
void __print(const char *x) {cerr << '\"' << x << '\"';}
void __print(const string &x) {cerr << '\"' << x << '\"';}
void __print(bool x) {cerr << (x ? "true" : "false");}
template<typename T, typename V>
void __print(const pair<T, V> &x) {cerr << '{'; __print(x.first); cerr << ','; __print(x.second); cerr << '}';}
template<typename T>
void __print(const T &x) {int f = 0; cerr << '{'; for (auto &i: x) cerr << (f++ ? "," : ""), __print(i); cerr << "}";}
void _print() {cerr << "]\n";}
template <typename T, typename... V>
void _print(T t, V... v) {__print(t); if (sizeof...(v)) cerr << ", "; _print(v...);}
#ifndef ONLINE_JUDGE
#define debug(x...) cerr << "[" << #x << "] = ["; _print(x)
#else
#define debug(x...)
#endif
int n,A,B,C;
int d[maxn+5][maxn+5];
long long dp[maxn+5][2];
struct ii{
int id;
long long w;
int type;
};
struct cmp{
bool operator () (ii A, ii B){
return A.w > B.w;
}
};
priority_queue<ii,vector<ii>,cmp> Heap;
void solve(){
cin >> n >> A >> B >> C;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin >> d[i][j];
}
}
for(int i=1;i<=n;i++) dp[i][0] = dp[i][1] = 1e18;
dp[1][0] = dp[1][1] = 0;
Heap.push({1,dp[1][0],0});
Heap.push({1,dp[1][1],1});
while(Heap.size()){
ii u = Heap.top();
Heap.pop();
if(dp[u.id][u.type] < u.w) continue;
for(int i=1;i<=n;i++){
if(i == u.id) continue;
if(u.type == 1){
ll tmp = dp[u.id][1] + 1ll * d[u.id][i] * B + 1ll * C;
if(tmp < dp[i][1]){
dp[i][1] = tmp;
Heap.push({i,dp[i][1],1});
}
}
else{
ll tmp = dp[u.id][0] + 1ll * d[u.id][i] * A;
if(tmp < dp[i][0]){
dp[i][0] = tmp;
Heap.push({i,dp[i][0],0});
}
ll tmp1 = dp[u.id][0] + 1ll * d[u.id][i] * B + 1ll * C;
if(tmp1 < dp[i][1]){
dp[i][1] = tmp1;
Heap.push({i,dp[i][1],1});
}
}
}
}
cout << min(dp[n][0],dp[n][1]);
}
int main(){
if(fopen(prob".inp","r")){
freopen(prob".inp","r",stdin);
freopen(prob".out","w",stdout);
}
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
int tc = 1;
// cin >> tc;
while(tc--) solve();
}
提出情報
コンパイルエラー
Main.cpp:2: warning: ignoring ‘#pragma GCC optimzie’ [-Wunknown-pragmas]
2 | #pragma GCC optimzie "Ofast"
|
Main.cpp: In function ‘int main()’:
Main.cpp:95:16: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
95 | freopen(prob".inp","r",stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
Main.cpp:96:16: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
96 | freopen(prob".out","w",stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
ジャッジ結果
| セット名 |
Sample |
All |
| 得点 / 配点 |
0 / 0 |
450 / 450 |
| 結果 |
|
|
| セット名 |
テストケース |
| Sample |
sample00.txt, sample01.txt, sample02.txt |
| All |
sample00.txt, sample01.txt, sample02.txt, testcase00.txt, testcase01.txt, testcase02.txt, testcase03.txt, testcase04.txt, testcase05.txt, testcase06.txt, testcase07.txt, testcase08.txt, testcase09.txt, testcase10.txt, testcase11.txt, testcase12.txt, testcase13.txt, testcase14.txt, testcase15.txt, testcase16.txt, testcase17.txt, testcase18.txt, testcase19.txt, testcase20.txt, testcase21.txt, testcase22.txt, testcase23.txt, testcase24.txt, testcase25.txt, testcase26.txt, testcase27.txt, testcase28.txt, testcase29.txt, testcase30.txt, testcase31.txt, testcase32.txt, testcase33.txt, testcase34.txt, testcase35.txt |
| ケース名 |
結果 |
実行時間 |
メモリ |
| sample00.txt |
AC |
1 ms |
3500 KiB |
| sample01.txt |
AC |
1 ms |
3596 KiB |
| sample02.txt |
AC |
1 ms |
3660 KiB |
| testcase00.txt |
AC |
48 ms |
7540 KiB |
| testcase01.txt |
AC |
40 ms |
7180 KiB |
| testcase02.txt |
AC |
39 ms |
7212 KiB |
| testcase03.txt |
AC |
47 ms |
7684 KiB |
| testcase04.txt |
AC |
44 ms |
7532 KiB |
| testcase05.txt |
AC |
42 ms |
7228 KiB |
| testcase06.txt |
AC |
48 ms |
7492 KiB |
| testcase07.txt |
AC |
47 ms |
7556 KiB |
| testcase08.txt |
AC |
49 ms |
7712 KiB |
| testcase09.txt |
AC |
50 ms |
7712 KiB |
| testcase10.txt |
AC |
52 ms |
7632 KiB |
| testcase11.txt |
AC |
47 ms |
7592 KiB |
| testcase12.txt |
AC |
45 ms |
7364 KiB |
| testcase13.txt |
AC |
50 ms |
7564 KiB |
| testcase14.txt |
AC |
52 ms |
7636 KiB |
| testcase15.txt |
AC |
47 ms |
7552 KiB |
| testcase16.txt |
AC |
46 ms |
7436 KiB |
| testcase17.txt |
AC |
44 ms |
7432 KiB |
| testcase18.txt |
AC |
52 ms |
7688 KiB |
| testcase19.txt |
AC |
46 ms |
7492 KiB |
| testcase20.txt |
AC |
49 ms |
7528 KiB |
| testcase21.txt |
AC |
41 ms |
7264 KiB |
| testcase22.txt |
AC |
53 ms |
7660 KiB |
| testcase23.txt |
AC |
48 ms |
7696 KiB |
| testcase24.txt |
AC |
49 ms |
7560 KiB |
| testcase25.txt |
AC |
47 ms |
7444 KiB |
| testcase26.txt |
AC |
49 ms |
7504 KiB |
| testcase27.txt |
AC |
41 ms |
7388 KiB |
| testcase28.txt |
AC |
41 ms |
7224 KiB |
| testcase29.txt |
AC |
50 ms |
7612 KiB |
| testcase30.txt |
AC |
53 ms |
7644 KiB |
| testcase31.txt |
AC |
46 ms |
7652 KiB |
| testcase32.txt |
AC |
69 ms |
8676 KiB |
| testcase33.txt |
AC |
76 ms |
10132 KiB |
| testcase34.txt |
AC |
60 ms |
8696 KiB |
| testcase35.txt |
AC |
46 ms |
7724 KiB |