Submission
Status:
PP-P--------------P-
Subtask/Task Score:
20/100
Score: 20
User: achinhchin
Problemset: Chord and Inversions
Language: cpp
Time: 0.029 second
Submitted On: 2025-10-05 23:51:04
#include <stdio.h>
#include <string.h>
typedef long long l;
char note[][3]={"C","C#","D","D#","E","F","F#","G","G#","A","A#","B"},t[3],m,crd[3],lst[3],D[3],d,mn;
l n,w,ln,c,i,j;
int main() {
scanf("%lli %lli",&n,&w);
while(n--) {
scanf("%s",t);for(ln=0;t[ln];ln++);
(t[ln-1]=='m')?(m=1,t[--ln]=0):(m=0);
for(c=0;strcmp(note[c],t);c++);
crd[0]=c,crd[1]=(c+4-(m?1:0))%12,crd[2]=(c+7)%12;
if(lst[0]!=lst[1]){
for(i=0;i<3;i++){
D[i]=0;
for(j=0;j<3;j++)d=crd[(j+i)%3]-lst[j],d=d>0?d:-d,d=d>6?12-d:d,D[i]+=d;
}
w=0;if(D[1]<D[0])w=1;if(D[2]<D[w])w=2;
}
for(i=0;i<3;i++)printf("%s ",note[lst[i]=crd[(i+w)%3]]);
printf("\n");
}
}