Submission #255621

#TimeUsernameProblemLanguageResultExecution timeMemory
255621tleontest1Stove (JOI18_stove)C++17
100 / 100
77 ms8788 KiB
#pragma GCC optimize ("O3") #pragma GCC target ("sse4") #pragma GCC optimize ("unroll-loops") #pragma GCC target ("avx2") #include <bits/stdc++.h> using namespace std; typedef long long lo; typedef pair< lo,lo > PII; typedef pair< lo,PII > PIII; #define fi first #define se second #define mp make_pair #define pb push_back #define fio() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL) #define FOR for(int i=1;i<=n;i++) #define mid ((start+end)/2) #define ort ((bas+son)/2) const lo MAX = -1000000000000000000; const lo MIN = 1000000000000000000; const lo inf = 1000000000; const lo KOK = 100000; const lo LOG = 30; const lo li = 500005; const lo mod = 1000000007; int n,m,b[li],a[li],k,flag,t,fa[li],vis[li]; int cev; multiset <PIII> st; string s; vector<int> v; inline int dsu(int x){ if(x==fa[x])return x; return fa[x]=dsu(fa[x]); } int main(void){ scanf("%d %d",&n,&m); FOR fa[i]=i; int at=n-m; FOR{ scanf("%d",&a[i]); if(i>1)st.insert(mp(a[i]-a[i-1],mp(i,i-1))); } while(at>0){ at--; PIII p; auto it=st.begin(); st.erase(it); p=*it; fa[dsu(p.se.fi)]=dsu(p.se.se); cev+=p.fi; //~ cout<<cev<<endl; } FOR{ if(vis[dsu(i)]==0)cev++; vis[dsu(i)]=1; } printf("%d\n",cev); return 0; }

Compilation message (stderr)

stove.cpp: In function 'int main()':
stove.cpp:43:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d %d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~~
stove.cpp:47:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
   ~~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...