Diff
checker
टेक्स्ट
टेक्स्ट
छवियां
दस्तावेज़
Excel
फ़ोल्डर्स
Legal
Enterprise
डेस्कटॉप
मूल्य
साइन इन करें
Diffchecker डेस्कटॉप डाउनलोड करें
टेक्स्ट की तुलना करें
दो टेक्स्ट फ़ाइलों के बीच अंतर ढूंढें
उपकरण
इतिहास
रियल-टाइम एडिटर
अपरिवर्तित संक्षिप्त करें
लाइन रैप बंद
लेआउट
विभाजित
संयुक्त
परिवर्तन हाइलाइट करें
स्मार्ट
शब्द
अक्षर
सिंटैक्स हाइलाइटिंग
सिंटैक्स चुनें
अनदेखा करें
टेक्स्ट बदलें
पहले अंतर पर जाएँ
इनपुट संपादित करें
Diffchecker Desktop
Diffchecker चलाने का सबसे सुरक्षित तरीका। Diffchecker Desktop ऐप पाएं: आपके diffs कभी आपके कंप्यूटर से बाहर नहीं जाते!
Desktop पाएं
Untitled diff
बनाया गया
8 वर्ष पहले
Diff कभी समाप्त नहीं होता
साफ़
निर्यात करें
शेयर करें
समझाएं
1 हटाया गया
लाइनें
कुल
हटाया गया
अक्षर
कुल
हटाया गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
62 लाइनें
सभी को कॉपी करें
1 जोड़ा गया
लाइनें
कुल
जोड़ा गया
अक्षर
कुल
जोड़ा गया
इस सुविधा का उपयोग जारी रखने के लिए, अपग्रेड करें
Diff
checker
Pro
मूल्य देखें
62 लाइनें
सभी को कॉपी करें
#include<bits/stdc++.h>
#include<bits/stdc++.h>
using namespace std;
using namespace std;
#define MOD 1000000007LL
#define MOD 1000000007LL
#define M 1
#define M 1
#define X first
#define X first
#define Y second
#define Y second
typedef long long ll;
typedef long long ll;
typedef pair< int, int >pii;
typedef pair< int, int >pii;
typedef pair< ll , ll >pll;
typedef pair< ll , ll >pll;
ll one = 1LL;
ll one = 1LL;
ll c[39];
ll c[39];
ll n;
ll n;
ll cst(ll msk)
ll cst(ll msk)
{
{
ll rt = 0;
ll rt = 0;
for (ll i = 0; i < 31; i++) {
for (ll i = 0; i < 31; i++) {
if (msk&(one<<i)) {
if (msk&(one<<i)) {
if (i < n) rt += c[i];
if (i < n) rt += c[i];
else rt += (c[n-1] << (i-n+1));
else rt += (c[n-1] << (i-n+1));
}
}
}
}
//cout << "cost for " << msk << " -> " << rt << endl;
//cout << "cost for " << msk << " -> " << rt << endl;
return rt;
return rt;
}
}
int main()
int main()
{
{
std::ios::sync_with_stdio(false);
std::ios::sync_with_stdio(false);
ll L;
ll L;
cin >> n >> L;
cin >> n >> L;
for (ll i = 0; i < n; i++) cin >> c[i];
for (ll i = 0; i < n; i++) cin >> c[i];
for (ll i = 1; i < n; i++) {
for (ll i = 1; i < n; i++) {
c[i] = min(c[i], c[i-1]*2);
c[i] = min(c[i], c[i-1]*2);
//cout << "c[" << i << "] = " << c[i] << endl;
//cout << "c[" << i << "] = " << c[i] << endl;
}
}
ll ans = cst(L);
ll ans = cst(L);
while (true) {
while (true) {
ll i;
ll i;
for (i = 0; (L&(one<<i))==0 ; i++);
for (i = 0; (L&(one<<i))==0 ; i++);
कॉपी
कॉपी हुआ
कॉपी
कॉपी हुआ
if (i >
n
) break;
if (i >
30
) break;
ans = min(ans, cst(L));
ans = min(ans, cst(L));
for ( ; (L&(one<<i)); i++) {
for ( ; (L&(one<<i)); i++) {
L ^= (one<<i);
L ^= (one<<i);
}
}
L ^= (one<<i);
L ^= (one<<i);
}
}
cout << ans << endl;
cout << ans << endl;
return 0;
return 0;
}
}
सेव किए गए Diffs
ऑरिजनल टेक्स्ट
फ़ाइल खोलें
#include<bits/stdc++.h> using namespace std; #define MOD 1000000007LL #define M 1 #define X first #define Y second typedef long long ll; typedef pair< int, int >pii; typedef pair< ll , ll >pll; ll one = 1LL; ll c[39]; ll n; ll cst(ll msk) { ll rt = 0; for (ll i = 0; i < 31; i++) { if (msk&(one<<i)) { if (i < n) rt += c[i]; else rt += (c[n-1] << (i-n+1)); } } //cout << "cost for " << msk << " -> " << rt << endl; return rt; } int main() { std::ios::sync_with_stdio(false); ll L; cin >> n >> L; for (ll i = 0; i < n; i++) cin >> c[i]; for (ll i = 1; i < n; i++) { c[i] = min(c[i], c[i-1]*2); //cout << "c[" << i << "] = " << c[i] << endl; } ll ans = cst(L); while (true) { ll i; for (i = 0; (L&(one<<i))==0 ; i++); if (i > n) break; ans = min(ans, cst(L)); for ( ; (L&(one<<i)); i++) { L ^= (one<<i); } L ^= (one<<i); } cout << ans << endl; return 0; }
परिवर्तित टेक्स्ट
फ़ाइल खोलें
#include<bits/stdc++.h> using namespace std; #define MOD 1000000007LL #define M 1 #define X first #define Y second typedef long long ll; typedef pair< int, int >pii; typedef pair< ll , ll >pll; ll one = 1LL; ll c[39]; ll n; ll cst(ll msk) { ll rt = 0; for (ll i = 0; i < 31; i++) { if (msk&(one<<i)) { if (i < n) rt += c[i]; else rt += (c[n-1] << (i-n+1)); } } //cout << "cost for " << msk << " -> " << rt << endl; return rt; } int main() { std::ios::sync_with_stdio(false); ll L; cin >> n >> L; for (ll i = 0; i < n; i++) cin >> c[i]; for (ll i = 1; i < n; i++) { c[i] = min(c[i], c[i-1]*2); //cout << "c[" << i << "] = " << c[i] << endl; } ll ans = cst(L); while (true) { ll i; for (i = 0; (L&(one<<i))==0 ; i++); if (i > 30) break; ans = min(ans, cst(L)); for ( ; (L&(one<<i)); i++) { L ^= (one<<i); } L ^= (one<<i); } cout << ans << endl; return 0; }
अंतर खोजें