Critical t get the question but easy to solve. Problem asks to find the maximum length of minimum distance. #include <iostream> #include <cstdio> #include <vector> #include <stack> #include <cmath> #include <cstring> #include <fstream> #include <string> #include <algorithm> #define INF 100000000 #define ll long long using namespace std; struct Cord{ int x,y; }; int M; char
Category: Critical
496
Using set::set_intersect(params) the problem can be solved. #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <set> #include <algorithm> #include <sstream> #define INF 1000000 using namespace std; set<int> Set1,Set2,inn; int main() { int n; string str; stringstream ss; while(getline(cin,str)) { Set1.clear(); Set2.clear(); inn.clear(); ss.clear(); ss<<str; while(ss>>n) { Set1.insert(n); } getline(cin,str); ss.clear(); ss<<str; while(ss>>n) { Set2.insert(n);
10771
This is a very problem. Explanation: Elimination continues till there is a single maid remains. If number of keka maids are odd at beginning it never becomes even through the elimination process so it will reach at 1 first. And if the number of keka maids starts with even number it never becomes odd according
467
#include <iostream> #include <cstdio> #include <sstream> #include <string> #include <cstring> #include <algorithm> using namespace std; int signal[4000]; int main() { string str; int kase=1; stringstream ss; int a,b,c,mx; int arr[12]; while(getline(cin,str)) { ss.clear(); ss<<str; int k=1; int time=0; while(ss>>arr[k])k++; sort(arr+1,arr+k); memset(signal,0,sizeof(signal)); for(int i=1;i<k;i++) { for(int j=0;j<3601;) { a=arr[i]-5; b=5; c=arr[i]; while(a–)signal[j++]++; while(b–)signal[j++]=0; while(c–)signal[j++]=0; } }
10196
#include <iostream> #include <string> #include <cstring> #include <cstdio> using namespace std; char board[8][8]; struct IDX{ int i,j; }; bool isCheck_knight(int I,int J,int color) { int dx[8]={1,1,-1,-1,2,2,-2,-2}; int dy[8]={2,-2,2,-2,1,-1,1,-1}; int a,b; for(int i=0;i<8;i++) { a=dx[i]+I; b=dy[i]+J; if(a>=0 && a<8 && b>=0 && b<8) { if(board[a][b]=='N' && color==0) return 1; else if(board[a][b]=='n' && color==1) return 1; }
10044
#include <iostream> #include <string.h> #include <string> #include <vector> #include <cstdio> #include <map> #define ll long long #define MAX_WORD 105 #define INF 100000000 using namespace std; int min_arr[1000001]; map<string,int> nameErdos; int minval(string **vb,int i) { int v = nameErdos[0]]; for(int j=1;vb[i][j]!="END";j++) { v = min(v,nameErdos[j]]); } return v; } int main() { int t,P,N,MN; int kase=1;
1189
#include <stdio.h> int main() { int n,t; while(scanf("%d",&n)) { if(n==0) break; int c[205]={}; t = 1%n; int i=0; while(1) { i++; if(c[t]) { for(int j=c[t];j<i;j++) printf("1"); for(int j=c[t]-1;j>=0;j–) printf("0"); printf("\n"); break; } c[t]=i; t =(t*10+1)%n; } } return 0; }
1062
WA Code: #include <iostream> #include <map> #include <string> using namespace std; map<char,int> m,np; //vector<char> v; int main() { string str; int cnt; int kase=1; while(cin>>str) { if(str=="end") break; cnt=1; np.clear(); m.clear(); for(int i=0;i<str.size();i++) { if(m[str[i]]<(i+1)) m[str[i]]=i+1; } for(map<char,int>::iterator ii=m.begin();ii!=m.end();++ii) { cout<<ii->first<<" "<<ii->second<<"\n"; int pos=ii->second; char c=ii->first; int f=0; for(int i=0;i<pos;i++) { if(str[i]<c && np[str[i]]==0) {
12801
#include <iostream> #include <stdio.h> using namespace std; int circum[10001]; int main() { int C,N; int res=0; double div; while(cin>>C) { cin>>N; div=(double)C/N; for(int i=0;i<N;i++) { cin>>circum[i]; } circum[N]=circum[0]+C; for(int i=circum[0];i<circum[1];i++) { int dis=i; res=0; int f=1; for(int j=1;j<=N;j++) { if(dis<circum[j] && circum[j]<=(dis+div)) dis+=div; else { f=0; break; } } if(f) { res=1; break; } }