Submission #137832
Source Code Expand
//TLEしそう・・・
#include<cstdio>
#include<algorithm>
#include<stack>
#include<queue>
#include<vector>
#include<string>
#include<string.h>
#include<cstdlib>
#include<ctime>
#include<cmath>
#include<complex>
#include<map>
#include<set>
#include<bitset>
#include<iostream>
#include<sstream>
#define fi first
#define se second
#define rep(i,n) for(int i = 0; i < n; i++)
#define rrep(i,n) for(int i = 1; i <= n; i++)
#define drep(i,n) for(int i = n-1; i >= 0; i--)
#define gep(i,g,j) for(int i = g.head[j]; i != -1; i = g.e[i].next)
#define each(it,c) for(__typeof((c).begin()) it=(c).begin();it!=(c).end();it++)
#define rng(a) a.begin(),a.end()
#define maxs(x,y) x = max(x,y);
#define mins(x,y) x = min(x,y);
#define pb push_back
#define sz(x) (int)(x).size()
#define popcount __builtin_popcount
#define snuke srand((unsigned)clock()+(unsigned)time(NULL))
using namespace std;
typedef long long int ll;
typedef pair<int,int> P;
typedef vector<int> vi;
const int MX = 1005, INF = 1000010000;
const ll LINF = 1000000000000000000ll;
const double eps = 1e-10;
const int dx[] = {-1,0,1,0}, dy[] = {0,-1,0,1}; //<^>v
int n, m;
int p[MX], q[MX];
int dist[MX*2];
// vi to[MX*2], co[MX*2];
vi v, u, c;
void add(int x, int y, int z){
v.pb(x); u.pb(y); c.pb(z);
//printf("add : %d %d %d\n",x,y,z);
}
int main(){
scanf("%d%d",&n,&m);
rep(i,n) scanf("%d",&p[i]);
rep(i,n) scanf("%d",&q[i]);
int x, y, a, b;
int sv = 2*n;
rep(i,n){
add(sv,i,p[i]);
add(i,sv,0);
add(sv,n+i,0);
add(n+i,sv,q[i]);
}
rep(i,m){
scanf("%d%d%d%d",&x,&y,&a,&b);
x--; y--;
add(x,n+y,-a);
add(n+y,x,b);
}
rep(i,n*2) dist[i] = INF;
bool end = false;
rep(ti,n+5){
bool up = false;
rep(i,v.size()){
if(dist[v[i]] == INF) continue;
if(dist[u[i]] > dist[v[i]]+c[i]){
dist[u[i]] = max(-INF,dist[v[i]]+c[i]);
up = true;
}
}
if(!up){
end = true;
break;
}
}
if(end) puts("yes"); else puts("no");
return 0;
}
Submission Info
Submission Time
2014-03-02 14:16:59+0900
Task
H - Asteroids2
User
snuke
Language
C++ (G++ 4.6.4)
Score
200
Code Size
2058 Byte
Status
AC
Exec Time
922 ms
Memory
3576 KB
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:55:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:56:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:57:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
./Main.cpp:69:32: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
Judge Result
Set Name
All
Score / Max Score
200 / 200
Status
Set Name
Test Cases
All
00-sample-00, 00-sample-01, 10-small_yes-00, 10-small_yes-01, 10-small_yes-02, 10-small_yes-03, 10-small_yes-04, 10-small_yes-05, 10-small_yes-06, 10-small_yes-07, 10-small_yes-08, 20-small_disturb-00, 20-small_disturb-01, 20-small_disturb-02, 20-small_disturb-03, 20-small_disturb-04, 20-small_disturb-05, 20-small_disturb-06, 20-small_disturb-07, 20-small_disturb-08, 30-large_yes-00, 30-large_yes-01, 30-large_yes-02, 30-large_yes-03, 30-large_yes-04, 40-large_disturb-00, 40-large_disturb-01, 40-large_disturb-02, 40-large_disturb-03, 40-large_disturb-04, 40-large_disturb-05, 40-large_disturb-06, 40-large_disturb-07, 40-large_disturb-08, 40-large_disturb-09, 40-large_disturb-10, 40-large_disturb-11, 40-large_disturb-12, 40-large_disturb-13, 40-large_disturb-14, 40-large_disturb-15
Case Name
Status
Exec Time
Memory
00-sample-00
AC
22 ms
800 KB
00-sample-01
AC
21 ms
932 KB
10-small_yes-00
AC
21 ms
928 KB
10-small_yes-01
AC
22 ms
924 KB
10-small_yes-02
AC
21 ms
924 KB
10-small_yes-03
AC
22 ms
928 KB
10-small_yes-04
AC
20 ms
924 KB
10-small_yes-05
AC
21 ms
924 KB
10-small_yes-06
AC
25 ms
1180 KB
10-small_yes-07
AC
26 ms
1188 KB
10-small_yes-08
AC
27 ms
1312 KB
20-small_disturb-00
AC
21 ms
796 KB
20-small_disturb-01
AC
20 ms
920 KB
20-small_disturb-02
AC
21 ms
796 KB
20-small_disturb-03
AC
22 ms
800 KB
20-small_disturb-04
AC
21 ms
920 KB
20-small_disturb-05
AC
23 ms
776 KB
20-small_disturb-06
AC
35 ms
1316 KB
20-small_disturb-07
AC
100 ms
1140 KB
20-small_disturb-08
AC
34 ms
1180 KB
30-large_yes-00
AC
85 ms
3408 KB
30-large_yes-01
AC
84 ms
3452 KB
30-large_yes-02
AC
86 ms
3456 KB
30-large_yes-03
AC
87 ms
3456 KB
30-large_yes-04
AC
86 ms
3464 KB
40-large_disturb-00
AC
764 ms
3448 KB
40-large_disturb-01
AC
782 ms
3388 KB
40-large_disturb-02
AC
810 ms
3456 KB
40-large_disturb-03
AC
858 ms
3464 KB
40-large_disturb-04
AC
765 ms
3464 KB
40-large_disturb-05
AC
782 ms
3456 KB
40-large_disturb-06
AC
812 ms
3576 KB
40-large_disturb-07
AC
922 ms
3464 KB
40-large_disturb-08
AC
775 ms
3468 KB
40-large_disturb-09
AC
783 ms
3468 KB
40-large_disturb-10
AC
813 ms
3468 KB
40-large_disturb-11
AC
864 ms
3408 KB
40-large_disturb-12
AC
769 ms
3392 KB
40-large_disturb-13
AC
808 ms
3468 KB
40-large_disturb-14
AC
815 ms
3468 KB
40-large_disturb-15
AC
886 ms
3456 KB