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
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
AC × 41
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