Submission #1679247


Source Code Expand

#include<iostream>
#include<algorithm>
#include<functional>
#include <string>
#include<iomanip>
#include<cstdio>
#include<math.h>
#include<stack>
#include<queue>
#include<cstring>
#include<vector>
typedef long long int ll;
#define FOR(i,a,b) for(ll i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)
#define EREP(i,n) for(int i=(n-1);i>=0;--i)
#define D(n,retu) REP(i,n){cin>>retu[i];}
#define mod 1000000007
#define MIN -93193111451418101
//#define INF 931931114518101
#define int long long
using namespace std;
typedef pair<ll, ll>P;
template<typename T>
void fill_all(T& arr, const T& v) {
	arr = v;
}
template<typename T, typename ARR>
void fill_all(ARR& arr, const T& v) {
	for (auto& i : arr) { fill_all(i, v); }
}
#define yo 100001
//------------------変数-----------------------//
//-------------------関数----------------------//
struct Fordfulkerson{
 const int INF = 1 << 28;
 struct edge{
   int to,cap,rev;
   edge(){}
   edge(int to,int cap,int rev):to(to),cap(cap),rev(rev){}
 };

 vector<vector<edge> > G;
 vector<int> used;

 Fordfulkerson(){}
 Fordfulkerson(int V){init(V);}

 void init(int V){
   for(int i=0;i<(int)G.size();i++) G[i].clear();
   G.clear();
   used.clear();
   G.resize(V);
   used.resize(V);
 }

 void add_edge(int from,int to,int cap){
   G[from].push_back(edge(to,cap,G[to].size()));
   // undirected
   //G[to].push_back(edge(from,cap,G[from].size()-1));
   // directed
   G[to].push_back(edge(from,0,G[from].size()-1));
 }

 int dfs(int v,int t,int f){
   if(v==t) return f;
   used[v]=true;
   for(int i=0;i<(int)G[v].size();i++){
     edge &e = G[v][i];
     if(!used[e.to] && e.cap > 0 ){
 int d=dfs(e.to,t,min(f,e.cap));
 if(d>0){
   e.cap-=d;
   G[e.to][e.rev].cap+=d;
   return d;
 }
     }
   }
   return 0;
 }

 int max_flow(int s,int t){
   int flow=0;
   for(;;){
     fill(used.begin(),used.end(),0);
     int f=dfs(s,t,INF);
     if(f==0) return flow;
     flow+=f;
   }
 }
};
signed main(){
  ll n,g,e;
  cin>>n>>g>>e;
  Fordfulkerson ford(n+1);
  ll p[114];
  REP(i,g){
    cin>>p[i];
    ford.add_edge(p[i],n+1,1);
  }
  REP(i,e){
    ll a,b;cin>>a>>b;
    ford.add_edge(a,b,1);
  }
  cout<<ford.max_flow(0,n)<<endl;
	return 0;
}

Submission Info

Submission Time
Task D - 浮気予防
User keidaroo
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2291 Byte
Status RE
Exec Time 102 ms
Memory 384 KB

Judge Result

Set Name part All
Score / Max Score 0 / 99 0 / 1
Status
AC × 3
RE × 24
AC × 3
RE × 58
Set Name Test Cases
part test_01_AB.txt, test_02_AB.txt, test_03_AB.txt, test_04_AB.txt, test_05_AB.txt, test_06_AB.txt, test_07_AB.txt, test_08_AB.txt, test_09_AB.txt, test_10_AB.txt, test_11_AB.txt, test_12_AB.txt, test_13_AB.txt, test_14_AB.txt, test_15_AB.txt, test_16_AB.txt, test_17_AB.txt, test_18_AB.txt, test_19_AB.txt, test_20_AB.txt, test_21_AB.txt, test_22_AB.txt, test_23_AB.txt, test_24_AB.txt, test_25_AB.txt, test_41_AB.txt, test_47_AB.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_05.txt, test_01_AB.txt, test_02_AB.txt, test_03_AB.txt, test_04_AB.txt, test_05_AB.txt, test_06_AB.txt, test_07_AB.txt, test_08_AB.txt, test_09_AB.txt, test_10_AB.txt, test_11_AB.txt, test_12_AB.txt, test_13_AB.txt, test_14_AB.txt, test_15_AB.txt, test_16_AB.txt, test_17_AB.txt, test_18_AB.txt, test_19_AB.txt, test_20_AB.txt, test_21_AB.txt, test_22_AB.txt, test_23_AB.txt, test_24_AB.txt, test_25_AB.txt, test_26_A.txt, test_27_A.txt, test_28_A.txt, test_29_A.txt, test_30_A.txt, test_31_A.txt, test_32_A.txt, test_33_A.txt, test_34_A.txt, test_35_A.txt, test_36_A.txt, test_37_A.txt, test_38_A.txt, test_39_A.txt, test_40_A.txt, test_41_AB.txt, test_42_A.txt, test_43_A.txt, test_44_A.txt, test_45_A.txt, test_46_A.txt, test_47_AB.txt, test_48_A.txt, test_49_A.txt, test_50_A.txt, test_51_A.txt
Case Name Status Exec Time Memory
sample_01.txt RE 101 ms 384 KB
sample_02.txt RE 99 ms 256 KB
sample_03.txt RE 99 ms 256 KB
sample_04.txt RE 100 ms 256 KB
sample_05.txt RE 100 ms 256 KB
test_01_AB.txt AC 1 ms 256 KB
test_02_AB.txt RE 99 ms 256 KB
test_03_AB.txt RE 100 ms 256 KB
test_04_AB.txt RE 100 ms 256 KB
test_05_AB.txt RE 102 ms 256 KB
test_06_AB.txt RE 99 ms 256 KB
test_07_AB.txt RE 98 ms 256 KB
test_08_AB.txt RE 99 ms 256 KB
test_09_AB.txt RE 100 ms 256 KB
test_10_AB.txt RE 101 ms 256 KB
test_11_AB.txt RE 99 ms 256 KB
test_12_AB.txt RE 98 ms 256 KB
test_13_AB.txt RE 99 ms 256 KB
test_14_AB.txt RE 99 ms 256 KB
test_15_AB.txt RE 98 ms 256 KB
test_16_AB.txt RE 98 ms 256 KB
test_17_AB.txt RE 97 ms 256 KB
test_18_AB.txt RE 98 ms 256 KB
test_19_AB.txt RE 101 ms 256 KB
test_20_AB.txt RE 98 ms 256 KB
test_21_AB.txt RE 99 ms 256 KB
test_22_AB.txt RE 98 ms 256 KB
test_23_AB.txt RE 98 ms 256 KB
test_24_AB.txt AC 1 ms 256 KB
test_25_AB.txt RE 98 ms 256 KB
test_26_A.txt RE 98 ms 256 KB
test_27_A.txt RE 99 ms 256 KB
test_28_A.txt RE 97 ms 256 KB
test_29_A.txt RE 100 ms 256 KB
test_30_A.txt RE 100 ms 256 KB
test_31_A.txt RE 98 ms 256 KB
test_32_A.txt RE 98 ms 256 KB
test_33_A.txt RE 99 ms 256 KB
test_34_A.txt RE 98 ms 256 KB
test_35_A.txt RE 100 ms 256 KB
test_36_A.txt RE 99 ms 256 KB
test_37_A.txt RE 99 ms 256 KB
test_38_A.txt RE 99 ms 256 KB
test_39_A.txt RE 98 ms 256 KB
test_40_A.txt RE 99 ms 256 KB
test_41_AB.txt AC 1 ms 256 KB
test_42_A.txt RE 100 ms 256 KB
test_43_A.txt RE 99 ms 256 KB
test_44_A.txt RE 99 ms 256 KB
test_45_A.txt RE 100 ms 256 KB
test_46_A.txt RE 99 ms 256 KB
test_47_AB.txt RE 98 ms 256 KB
test_48_A.txt RE 98 ms 256 KB
test_49_A.txt RE 99 ms 256 KB
test_50_A.txt RE 98 ms 256 KB
test_51_A.txt RE 98 ms 256 KB