195142025-12-12 08:48:12dfehervariFázis szinkronizáláscpp17Time limit exceeded 50/1002.088s5032 KiB
#include <iostream>
#include <vector>

using namespace std;

struct F
{
    int fazis;
    int db;
};


int main(){
    //Adatok betöltése
    int N,M;
    cin>>N>>M;
    vector<int> adatok(N);
    for(int i=0;i<N;++i) cin>>adatok[i];

    //Az egyes fázisok számának tárolása
    vector<int> fazisok(M);
    for(int i=0;i<N;++i) fazisok[adatok[i]]+=1;

    //for(int i=0;i<M;++i) cout<<fazisok[i]<<";";

    vector<int> letezofazis;
    for(int i=0;i<M;++i) 
        if (fazisok[i]!=0) letezofazis.push_back(i);
    
    int lfdb;
    lfdb = letezofazis.size();

    for(int i=0;i<lfdb;++i) letezofazis.push_back(letezofazis[i]+M);
    //for(int i=0;i<2*lfdb;++i) cout<<letezofazis[i]<<"-";
    int i,hossz,minhossz=M,minhely=0;

    for(i=0;i<lfdb;++i){
        hossz = 0;
        for(int j=0;j<lfdb-1;++j){
            hossz=hossz+(letezofazis[i+j+1]-letezofazis[i+j]);
            
        }
        
        if (hossz<minhossz) {
            minhossz=hossz;
            minhely=i;
        }
        
    }
    cout<<minhossz<<"\n";
    //cout<<minhossz<<"-"<<minhely<<"\n";
    if(minhossz!=0) for(int i=0;i<minhossz;++i) cout<<(letezofazis[minhely]+i)%M<<" ";



        




    //cin.get();
    //cin.get();
    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted1ms316 KiB
3Accepted1ms500 KiB
subtask210/10
4Accepted1ms500 KiB
5Accepted1ms316 KiB
6Accepted1ms316 KiB
7Accepted1ms336 KiB
subtask315/15
8Accepted1ms500 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted1ms336 KiB
12Accepted1ms316 KiB
13Accepted1ms316 KiB
14Accepted1ms316 KiB
15Accepted1ms316 KiB
16Accepted1ms316 KiB
subtask425/25
17Accepted1ms500 KiB
18Accepted1ms316 KiB
19Accepted1ms316 KiB
20Accepted1ms336 KiB
21Accepted1ms316 KiB
22Accepted1ms316 KiB
23Accepted1ms316 KiB
24Accepted1ms316 KiB
25Accepted1ms316 KiB
26Accepted14ms1668 KiB
27Accepted82ms2480 KiB
28Accepted87ms2732 KiB
29Accepted35ms2100 KiB
30Accepted87ms2868 KiB
subtask50/20
31Accepted1ms500 KiB
32Accepted1ms316 KiB
33Accepted1ms316 KiB
34Accepted1ms336 KiB
35Accepted1ms316 KiB
36Accepted1ms316 KiB
37Accepted1ms316 KiB
38Accepted1ms316 KiB
39Accepted1ms316 KiB
40Time limit exceeded2.088s4008 KiB
41Time limit exceeded2.088s4012 KiB
42Accepted65ms1972 KiB
43Time limit exceeded2.088s4004 KiB
44Accepted37ms2116 KiB
45Accepted17ms1332 KiB
46Accepted67ms2708 KiB
subtask60/30
47Accepted1ms500 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted1ms336 KiB
51Accepted1ms316 KiB
52Accepted1ms316 KiB
53Accepted1ms316 KiB
54Accepted1ms316 KiB
55Accepted1ms316 KiB
56Accepted14ms1668 KiB
57Accepted82ms2480 KiB
58Accepted87ms2732 KiB
59Accepted35ms2100 KiB
60Accepted87ms2868 KiB
61Time limit exceeded2.088s4008 KiB
62Time limit exceeded2.088s4012 KiB
63Accepted65ms1972 KiB
64Time limit exceeded2.088s4004 KiB
65Accepted37ms2116 KiB
66Accepted17ms1332 KiB
67Accepted67ms2708 KiB
68Accepted96ms4124 KiB
69Time limit exceeded2.079s5032 KiB
70Accepted76ms3052 KiB
71Time limit exceeded2.079s4264 KiB
72Time limit exceeded2.085s2860 KiB