Submission

Status:

PPPPPPPPPP

Subtask/Task Score:

100/100

Score: 100

User: Weathery

Problemset: Internal Order

Language: cpp

Time: 0.002 second

Submitted On: 2026-10-08 20:49:29

#include <bits/stdc++.h>
using namespace std;

int main() {
	int fav,i,j,order[4];
	string god[4],s[4],k;
	cin >> fav;
	for (i=0;i<4;i++) {
		cin >> god[i];
		s[i]=god[i];
	}
	for (i = 1; i < 4; i++) {
        k = s[i];
        j = i - 1;
        while (j >= 0 && s[j].compare(k) > 0) {
            s[j + 1] = s[j];
            j--;
        }
        s[j+1] = k;
    }
	for (i=0;i<4;i++) {
	 for (j=0;j<4;j++){
	     if (god[i].compare(s[j])==0) {
         break;
	     }
	 }
		order[i] = ((j - (fav - 1) + 4) % 4) + 1;
	}
	bool a=(order[1]==1||fav==1); if (order[3]<order[2]) a=false;
	bool b=(order[2]>order[1]&&order[2]<order[0]&&order[3]!=3);
	bool c=((a^b)&&order[0]>order[3]); if (order[1]!=4) c=true;
	 if (c&&(order[3]<order[1]||order[2]>order[0])) {
	       cout <<"CROISSANT with ordering: ";
	       for (i=0;i<4;i++) cout <<order[i]<<' ';
	 } else {
	 	cout << "No Croissant :(";
	}
	return 0;
}