Submission #382055

#TimeUsernameProblemLanguageResultExecution timeMemory
382055kshitij_sodaniTenis (COI19_tenis)C++14
30 / 100
1067 ms4460 KiB
//#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
#define endl '\n'
int n,q;
int it[100001][3];
int vis[100001][3];

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n>>q;
	for(int i=0;i<n;i++){
		cin>>it[i][0];
	}
	for(int i=0;i<n;i++){
		cin>>it[i][1];
	}
	for(int i=0;i<n;i++){
		cin>>it[i][2];
	}
	
	while(q--){
		int tt;
		cin>>tt;
		if(tt==1){
			int x;
			cin>>x;
			int st=0;
			for(int i=1;i<=n;i++){
				for(int j=0;j<3;j++){
					vis[i][j]=0;
				}
			}
			set<int> ss;
			for(int i=0;i<n;i++){
				int kk=1;
				for(int j=0;j<3;j++){
					ss.erase(it[i][j]);
					vis[it[i][j]][j]=1;
					if(vis[it[i][j]][0]!=vis[it[i][j]][1] or vis[it[i][j]][0]!=vis[it[i][j]][2]){
						ss.insert(it[i][j]);
						continue;
					}
				}
				if(vis[x][0]+vis[x][1]+vis[x][2]>0){
					kk=0;
					break;
				}
				/*for(int j=1;j<=n;j++){
					if(vis[j][0]!=vis[j][1] or vis[j][0]!=vis[j][2]){
						kk=0;
						break;
					}
				}*/
				/*for(int i=0;i<3;i++){
					for(int j=0;j<n;j++){
						cout<<vis[j][i]<<",";
					}
					cout<<endl;
				}
				cout<<endl;*/
				if(ss.size()==0){
					
					st=1;
					break;
				}
			}
			if(st==0){
				cout<<"DA"<<endl;
			}
			else{
				cout<<"NE"<<endl;
			}

		}
		else{
			int x,y,z;
			cin>>x>>y>>z;
			x--;
			int ind=-1;
			int ind2=-1;
			for(int i=0;i<n;i++){
				if(it[i][x]==y){
					ind=i;
				}
				if(it[i][x]==z){
					ind2=i;
				}
			}
			//cout<<ind<<":"<<ind2<<endl;
			swap(it[ind][x],it[ind2][x]);
		}
	}






 
	return 0;
}

Compilation message (stderr)

tenis.cpp: In function 'int main()':
tenis.cpp:42:9: warning: variable 'kk' set but not used [-Wunused-but-set-variable]
   42 |     int kk=1;
      |         ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...