Submission #775339

# Submission time Handle Problem Language Result Execution time Memory
775339 2023-07-06T09:49:56 Z vjudge1 T-Covering (eJOI19_covering) C++17
15 / 100
56 ms 16204 KB
#include<bits/stdc++.h>
using namespace std;
#define lalala ios_base::sync_with_stdio(false);cin.tie(NULL);
#define endl "\n"
#define ll long long
#define pb push_back
#define N 2000000
int k,n,m;
vector<vector<int>> v;
map<pair<int,int>,int> mp;
int main(){
	lalala;
	cin>>n>>m;
	int mat[n][m];
	int yap[n][m];
	for(int i=0;i<n;i++){
		vector<int> aa;
		for(int j=0;j<m;j++){
			cin>>mat[i][j];
			aa.pb(mat[i][j]);
			yap[i][j]=0;
		}
		v.pb(aa);
	}

	cin>>k;
	ll int cev=0;
	int yes=1;
	int arr[k][2];
	for(int i=0;i<k;i++){
		cin>>arr[i][0]>>arr[i][1];
		if(mp[{arr[i][0],arr[i][1]}]){
			yes=0;
		}
		mp[{arr[i][0],arr[i][1]}]=1;
	}
	if(yes==0){
		cout<<"No"<<endl;
		return 0;
	}
	for(int i=0;i<k&&yes;i++){
		int a=arr[i][0], b=arr[i][1];
		int kac=0,toplam=0;
		cev+=mat[a][b];
		if(mp[{a+1,b}]){
			kac++;
			if(a+2>=n||a-1<0||b+1>=m||b-1<0){yes=0;break;}
			toplam=(mat[a-1][b]+mat[a+2][b]+mat[a][b-1]+mat[a][b+1]+mat[a+1][b-1]+mat[a+1][b+1]);
			yap[a+1][b]=1;		}
		if(mp[{a-1,b}]){
			kac++;
			if(a+1>=n||a-2<0||b+1>=m||b-1<0){yes=0;break;}
			toplam=(mat[a+1][b]+mat[a-2][b]+mat[a][b-1]+mat[a][b+1]+mat[a-1][b-1]+mat[a-1][b+1]);
			yap[a-1][b]=1;
		}
		if(mp[{a,b+1}]){
			kac++;
			if(a+1>=n||a-1<0||b+2>=m||b-1<0){yes=0;break;}
			toplam=(mat[a+1][b]+mat[a-1][b]+mat[a][b-1]+mat[a][b+2]+mat[a-1][b+1]+mat[a+1][b+1]);
			yap[a][b+1]=1;
		}
		if(mp[{a,b-1}]){
			kac++;
			if(a+1>=n||a-1<0||b+1>=m||b-2<0){yes=0;break;}
			toplam=(mat[a+1][b]+mat[a-1][b]+mat[a][b+1]+mat[a][b-2]+mat[a-1][b-1]+mat[a+1][b-1]);
			yap[a][b-1]=1;
		}
		if(kac){
			if(kac>1){yes=0;break;}
			//cout<<toplam<<endl;
			if(yap[a][b]==0)cev+=toplam;
			continue;
		}
		int aaa=0;
		if(a+1<n&&a-1>-1){
			if(b+1<m)aaa=max(aaa,mat[a+1][b]+mat[a-1][b]+mat[a][b+1]);
			if(b-1>-1)aaa=max(aaa,mat[a+1][b]+mat[a-1][b]+mat[a][b-1]);
		}
		if(b+1<m&&b-1>-1){
			if(a+1<n)aaa=max(aaa,mat[a+1][b]+mat[a][b-1]+mat[a][b+1]);
			if(a-1>-1)aaa=max(aaa,mat[a][b+1]+mat[a-1][b]+mat[a][b-1]);
		}
		//cout<<a<<" "<<b<<aaa<<endl;
		if(yap[a][b]==0)cev+=aaa;
		yap[a][b]=1;
		if(aaa==0){yes=0;break;}
	}
	if(yes)cout<<cev<<endl;
	else cout<<"No"<<endl;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
3 Correct 9 ms 1856 KB Output is correct
4 Correct 17 ms 5076 KB Output is correct
5 Correct 55 ms 16116 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
3 Correct 6 ms 1872 KB Output is correct
4 Correct 17 ms 5068 KB Output is correct
5 Correct 56 ms 16204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 468 KB Output is correct
2 Incorrect 2 ms 724 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 276 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
3 Correct 9 ms 1856 KB Output is correct
4 Correct 17 ms 5076 KB Output is correct
5 Correct 55 ms 16116 KB Output is correct
6 Correct 2 ms 468 KB Output is correct
7 Correct 2 ms 724 KB Output is correct
8 Correct 6 ms 1872 KB Output is correct
9 Correct 17 ms 5068 KB Output is correct
10 Correct 56 ms 16204 KB Output is correct
11 Correct 1 ms 468 KB Output is correct
12 Incorrect 2 ms 724 KB Output isn't correct
13 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 2 ms 724 KB Output is correct
3 Correct 9 ms 1856 KB Output is correct
4 Correct 17 ms 5076 KB Output is correct
5 Correct 55 ms 16116 KB Output is correct
6 Correct 2 ms 468 KB Output is correct
7 Correct 2 ms 724 KB Output is correct
8 Correct 6 ms 1872 KB Output is correct
9 Correct 17 ms 5068 KB Output is correct
10 Correct 56 ms 16204 KB Output is correct
11 Correct 1 ms 468 KB Output is correct
12 Incorrect 2 ms 724 KB Output isn't correct
13 Halted 0 ms 0 KB -