Submission #1248659

#TimeUsernameProblemLanguageResultExecution timeMemory
1248659Bui_Quoc_CuongRoom Temperature (JOI24_ho_t1)C++20
70 / 100
1 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
// #define int long long
#define FOR(i, a, b) for (int i = a; i <= (int)b; i++)
#define FORD(i, a, b) for (int i = a; i >= (int)b; i--)
#define MASK(i) (1LL << (i))
#define BIT(S, i) (((S) >> (i)) & 1)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define all(x) x.begin(), x.end()
const int N = 5e5 + 5;
int n, T;
void init(){
	cin >> n >> T;
}
int a[N], pre[N];
void process(){
	vector <int> circle;
	for(int i = 1; i <= n; i++){
		int x; cin >> x;
		a[x % T]++;
		circle.push_back(x % T);
	}
	sort(all(circle)); circle.resize(unique(all(circle)) - circle.begin());
	int m = circle.size();
	vector <int> cur_cir = circle;
	for(int i = 0; i <= m - 1; i++) circle.push_back(circle[i]);
	int ans = 2e9;
	for(int i = 0; i <= m; i++){
		int l = i, r = i + m - 1;
		// cout << circle[l] << " " << circle[r] << "\n";
		if(circle[l] <= circle[r]){
			ans = min(ans, circle[r] - circle[l] + 1);
		} else{
			ans = min(ans, (circle[r] + T - circle[l] + 1));
		}
	}	
	cout << ans / 2;
}
signed main(){
    ios_base::sync_with_stdio(false); cin.tie(nullptr);   
    #define taskname "kieuoanh"
    if(fopen(taskname".inp", "r")){ 
        freopen(taskname".inp", "r", stdin); 
        freopen(taskname".out", "w", stdout);
    }
    init();
    process();
    return 0;
}

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:46:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |         freopen(taskname".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:47:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   47 |         freopen(taskname".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#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...